staging: west bridge: cyasgadget, remove file system / vfs calls
This patch remove file system specific (fat_get_block) and vfs calls from the cyasgadget driver. The current implementation expects user space to write the file (open, seek to end, 1 byte write), followed by a call to clear the dirty pages from the the page cache. Signed-off-by: David Cross <david.cross@cypress.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
72bbd9bce4
commit
4c404487aa
1 changed files with 0 additions and 42 deletions
|
@ -1149,11 +1149,9 @@ static int cyasgadget_ioctl(
|
||||||
struct inode *inode = mapping->host;
|
struct inode *inode = mapping->host;
|
||||||
struct inode *alloc_inode =
|
struct inode *alloc_inode =
|
||||||
file_to_allocate->f_path.dentry->d_inode;
|
file_to_allocate->f_path.dentry->d_inode;
|
||||||
int cluster = 0;
|
|
||||||
uint32_t num_clusters = 0;
|
uint32_t num_clusters = 0;
|
||||||
struct buffer_head bh;
|
struct buffer_head bh;
|
||||||
struct kstat stat;
|
struct kstat stat;
|
||||||
struct iattr alloc_iattr;
|
|
||||||
int nr_pages = 0;
|
int nr_pages = 0;
|
||||||
int ret_stat = 0;
|
int ret_stat = 0;
|
||||||
|
|
||||||
|
@ -1188,47 +1186,7 @@ static int cyasgadget_ioctl(
|
||||||
/* block size is arbitrary , we'll use sector size*/
|
/* block size is arbitrary , we'll use sector size*/
|
||||||
bh.b_size = SECTOR_SIZE ;
|
bh.b_size = SECTOR_SIZE ;
|
||||||
|
|
||||||
#ifndef WESTBRIDGE_NDEBUG
|
|
||||||
cy_as_hal_print_message("%s: getting fat blocks %d "
|
|
||||||
"size of %d\n", __func__,
|
|
||||||
num_clusters, bh.b_size);
|
|
||||||
#endif
|
|
||||||
for (cluster = 0; cluster < num_clusters; cluster++) {
|
|
||||||
ret_stat = fat_get_block(inode,
|
|
||||||
cluster, &bh, 1);
|
|
||||||
if (ret_stat) {
|
|
||||||
cy_as_hal_print_message(
|
|
||||||
"%s: unable to get fat block, "
|
|
||||||
"ret_stat=0x%d\n",
|
|
||||||
__func__, ret_stat);
|
|
||||||
goto initsoj_safe_exit;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef WESTBRIDGE_NDEBUG
|
|
||||||
cy_as_hal_print_message("%s: allocated clusters "
|
|
||||||
"successfully (fat_get_block), check bmap..."
|
|
||||||
"\n", __func__);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
alloc_iattr.ia_valid = ATTR_SIZE;
|
|
||||||
alloc_iattr.ia_size = k_d.num_bytes;
|
|
||||||
|
|
||||||
#ifndef WESTBRIDGE_NDEBUG
|
|
||||||
cy_as_hal_print_message("%s: calling fat_notify_change "
|
|
||||||
"(ia_valid:%d, ia_size:%d)\n", __func__,
|
|
||||||
alloc_iattr.ia_valid,
|
|
||||||
(int)alloc_iattr.ia_size);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* adjust the filesize */
|
|
||||||
ret_stat = alloc_inode->i_op->setattr(
|
|
||||||
file_to_allocate->f_path.dentry, &alloc_iattr);
|
|
||||||
#ifndef WESTBRIDGE_NDEBUG
|
|
||||||
cy_as_hal_print_message("%s: fat_setattr() "
|
|
||||||
"returned 0x%x\n",
|
|
||||||
__func__, ret_stat);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* clear dirty pages in page cache
|
/* clear dirty pages in page cache
|
||||||
* (if were any allocated) */
|
* (if were any allocated) */
|
||||||
|
|
Loading…
Add table
Reference in a new issue