mirror of
https://github.com/torvalds/linux.git
synced 2024-12-22 19:01:37 +00:00
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
@ -1149,11 +1149,9 @@ static int cyasgadget_ioctl(
|
||||
struct inode *inode = mapping->host;
|
||||
struct inode *alloc_inode =
|
||||
file_to_allocate->f_path.dentry->d_inode;
|
||||
int cluster = 0;
|
||||
uint32_t num_clusters = 0;
|
||||
struct buffer_head bh;
|
||||
struct kstat stat;
|
||||
struct iattr alloc_iattr;
|
||||
int nr_pages = 0;
|
||||
int ret_stat = 0;
|
||||
|
||||
@ -1188,47 +1186,7 @@ static int cyasgadget_ioctl(
|
||||
/* block size is arbitrary , we'll use 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
|
||||
* (if were any allocated) */
|
||||
|
Loading…
Reference in New Issue
Block a user