|
@@ -154,7 +154,7 @@ sysfs_read_file(struct file *file, char __user *buf, size_t count, loff_t *ppos)
|
|
|
|
|
|
down(&buffer->sem);
|
|
down(&buffer->sem);
|
|
if (buffer->needs_read_fill) {
|
|
if (buffer->needs_read_fill) {
|
|
- if ((retval = fill_read_buffer(file->f_dentry,buffer)))
|
|
|
|
|
|
+ if ((retval = fill_read_buffer(file->f_path.dentry,buffer)))
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
pr_debug("%s: count = %zd, ppos = %lld, buf = %s\n",
|
|
pr_debug("%s: count = %zd, ppos = %lld, buf = %s\n",
|
|
@@ -245,7 +245,7 @@ sysfs_write_file(struct file *file, const char __user *buf, size_t count, loff_t
|
|
down(&buffer->sem);
|
|
down(&buffer->sem);
|
|
len = fill_write_buffer(buffer, buf, count);
|
|
len = fill_write_buffer(buffer, buf, count);
|
|
if (len > 0)
|
|
if (len > 0)
|
|
- len = flush_write_buffer(file->f_dentry, buffer, len);
|
|
|
|
|
|
+ len = flush_write_buffer(file->f_path.dentry, buffer, len);
|
|
if (len > 0)
|
|
if (len > 0)
|
|
*ppos += len;
|
|
*ppos += len;
|
|
up(&buffer->sem);
|
|
up(&buffer->sem);
|
|
@@ -254,8 +254,8 @@ sysfs_write_file(struct file *file, const char __user *buf, size_t count, loff_t
|
|
|
|
|
|
static int check_perm(struct inode * inode, struct file * file)
|
|
static int check_perm(struct inode * inode, struct file * file)
|
|
{
|
|
{
|
|
- struct kobject *kobj = sysfs_get_kobject(file->f_dentry->d_parent);
|
|
|
|
- struct attribute * attr = to_attr(file->f_dentry);
|
|
|
|
|
|
+ struct kobject *kobj = sysfs_get_kobject(file->f_path.dentry->d_parent);
|
|
|
|
+ struct attribute * attr = to_attr(file->f_path.dentry);
|
|
struct sysfs_buffer * buffer;
|
|
struct sysfs_buffer * buffer;
|
|
struct sysfs_ops * ops = NULL;
|
|
struct sysfs_ops * ops = NULL;
|
|
int error = 0;
|
|
int error = 0;
|
|
@@ -337,8 +337,8 @@ static int sysfs_open_file(struct inode * inode, struct file * filp)
|
|
|
|
|
|
static int sysfs_release(struct inode * inode, struct file * filp)
|
|
static int sysfs_release(struct inode * inode, struct file * filp)
|
|
{
|
|
{
|
|
- struct kobject * kobj = to_kobj(filp->f_dentry->d_parent);
|
|
|
|
- struct attribute * attr = to_attr(filp->f_dentry);
|
|
|
|
|
|
+ struct kobject * kobj = to_kobj(filp->f_path.dentry->d_parent);
|
|
|
|
+ struct attribute * attr = to_attr(filp->f_path.dentry);
|
|
struct module * owner = attr->owner;
|
|
struct module * owner = attr->owner;
|
|
struct sysfs_buffer * buffer = filp->private_data;
|
|
struct sysfs_buffer * buffer = filp->private_data;
|
|
|
|
|
|
@@ -372,8 +372,8 @@ static int sysfs_release(struct inode * inode, struct file * filp)
|
|
static unsigned int sysfs_poll(struct file *filp, poll_table *wait)
|
|
static unsigned int sysfs_poll(struct file *filp, poll_table *wait)
|
|
{
|
|
{
|
|
struct sysfs_buffer * buffer = filp->private_data;
|
|
struct sysfs_buffer * buffer = filp->private_data;
|
|
- struct kobject * kobj = to_kobj(filp->f_dentry->d_parent);
|
|
|
|
- struct sysfs_dirent * sd = filp->f_dentry->d_fsdata;
|
|
|
|
|
|
+ struct kobject * kobj = to_kobj(filp->f_path.dentry->d_parent);
|
|
|
|
+ struct sysfs_dirent * sd = filp->f_path.dentry->d_fsdata;
|
|
int res = 0;
|
|
int res = 0;
|
|
|
|
|
|
poll_wait(filp, &kobj->poll, wait);
|
|
poll_wait(filp, &kobj->poll, wait);
|