mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull VFS updates from Al Viro,
Misc cleanups all over the place, mainly wrt /proc interfaces (switch
create_proc_entry to proc_create(), get rid of the deprecated
create_proc_read_entry() in favor of using proc_create_data() and
seq_file etc).
7kloc removed.
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (204 commits)
don't bother with deferred freeing of fdtables
proc: Move non-public stuff from linux/proc_fs.h to fs/proc/internal.h
proc: Make the PROC_I() and PDE() macros internal to procfs
proc: Supply a function to remove a proc entry by PDE
take cgroup_open() and cpuset_open() to fs/proc/base.c
ppc: Clean up scanlog
ppc: Clean up rtas_flash driver somewhat
hostap: proc: Use remove_proc_subtree()
drm: proc: Use remove_proc_subtree()
drm: proc: Use minor->index to label things, not PDE->name
drm: Constify drm_proc_list[]
zoran: Don't print proc_dir_entry data in debug
reiserfs: Don't access the proc_dir_entry in r_open(), r_start() r_show()
proc: Supply an accessor for getting the data from a PDE's parent
airo: Use remove_proc_subtree()
rtl8192u: Don't need to save device proc dir PDE
rtl8187se: Use a dir under /proc/net/r8180/
proc: Add proc_mkdir_data()
proc: Move some bits from linux/proc_fs.h to linux/{of.h,signal.h,tty.h}
proc: Move PDE_NET() to fs/proc/proc_net.c
...
This commit is contained in:
commit
20b4fb4852
385 changed files with 7396 additions and 14540 deletions
|
|
@ -333,29 +333,23 @@ static int proc_output(char *buf)
|
|||
return p - buf;
|
||||
}
|
||||
|
||||
static int
|
||||
adv7393_read_proc(char *page, char **start, off_t off,
|
||||
int count, int *eof, void *data)
|
||||
static ssize_t
|
||||
adv7393_read_proc(struct file *file, char __user *buf,
|
||||
size_t size, loff_t *ppos)
|
||||
{
|
||||
int len;
|
||||
|
||||
len = proc_output(page);
|
||||
if (len <= off + count)
|
||||
*eof = 1;
|
||||
*start = page + off;
|
||||
len -= off;
|
||||
if (len > count)
|
||||
len = count;
|
||||
if (len < 0)
|
||||
len = 0;
|
||||
return len;
|
||||
static const char message[] = "Usage:\n"
|
||||
"echo 0x[REG][Value] > adv7393\n"
|
||||
"example: echo 0x1234 >adv7393\n"
|
||||
"writes 0x34 into Register 0x12\n";
|
||||
return simple_read_from_buffer(buf, size, ppos, message,
|
||||
sizeof(message));
|
||||
}
|
||||
|
||||
static int
|
||||
static ssize_t
|
||||
adv7393_write_proc(struct file *file, const char __user * buffer,
|
||||
size_t count, void *data)
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
struct adv7393fb_device *fbdev = data;
|
||||
struct adv7393fb_device *fbdev = PDE_DATA(file_inode(file));
|
||||
unsigned int val;
|
||||
int ret;
|
||||
|
||||
|
|
@ -368,6 +362,12 @@ adv7393_write_proc(struct file *file, const char __user * buffer,
|
|||
return count;
|
||||
}
|
||||
|
||||
static const struct file_operations fops = {
|
||||
.read = adv7393_read_proc,
|
||||
.write = adv7393_write_proc,
|
||||
.llseek = default_llseek,
|
||||
};
|
||||
|
||||
static int bfin_adv7393_fb_probe(struct i2c_client *client,
|
||||
const struct i2c_device_id *id)
|
||||
{
|
||||
|
|
@ -506,17 +506,12 @@ static int bfin_adv7393_fb_probe(struct i2c_client *client,
|
|||
fbdev->info.node, fbdev->info.fix.id);
|
||||
dev_info(&client->dev, "fb memory address : 0x%p\n", fbdev->fb_mem);
|
||||
|
||||
entry = create_proc_entry("driver/adv7393", 0, NULL);
|
||||
entry = proc_create_data("driver/adv7393", 0, NULL, &fops, fbdev);
|
||||
if (!entry) {
|
||||
dev_err(&client->dev, "unable to create /proc entry\n");
|
||||
ret = -EFAULT;
|
||||
goto free_fb;
|
||||
}
|
||||
|
||||
entry->read_proc = adv7393_read_proc;
|
||||
entry->write_proc = adv7393_write_proc;
|
||||
entry->data = fbdev;
|
||||
|
||||
return 0;
|
||||
|
||||
free_fb:
|
||||
|
|
|
|||
|
|
@ -101,7 +101,6 @@ struct pxa3xx_gcu_priv {
|
|||
dma_addr_t shared_phys;
|
||||
struct resource *resource_mem;
|
||||
struct miscdevice misc_dev;
|
||||
struct file_operations misc_fops;
|
||||
wait_queue_head_t wait_idle;
|
||||
wait_queue_head_t wait_free;
|
||||
spinlock_t spinlock;
|
||||
|
|
@ -369,15 +368,20 @@ pxa3xx_gcu_wait_free(struct pxa3xx_gcu_priv *priv)
|
|||
|
||||
/* Misc device layer */
|
||||
|
||||
static inline struct pxa3xx_gcu_priv *file_dev(struct file *file)
|
||||
{
|
||||
struct miscdevice *dev = file->private_data;
|
||||
return container_of(dev, struct pxa3xx_gcu_priv, misc_dev);
|
||||
}
|
||||
|
||||
static ssize_t
|
||||
pxa3xx_gcu_misc_write(struct file *filp, const char *buff,
|
||||
pxa3xx_gcu_misc_write(struct file *file, const char *buff,
|
||||
size_t count, loff_t *offp)
|
||||
{
|
||||
int ret;
|
||||
unsigned long flags;
|
||||
struct pxa3xx_gcu_batch *buffer;
|
||||
struct pxa3xx_gcu_priv *priv =
|
||||
container_of(filp->f_op, struct pxa3xx_gcu_priv, misc_fops);
|
||||
struct pxa3xx_gcu_priv *priv = file_dev(file);
|
||||
|
||||
int words = count / 4;
|
||||
|
||||
|
|
@ -450,11 +454,10 @@ pxa3xx_gcu_misc_write(struct file *filp, const char *buff,
|
|||
|
||||
|
||||
static long
|
||||
pxa3xx_gcu_misc_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
||||
pxa3xx_gcu_misc_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
||||
{
|
||||
unsigned long flags;
|
||||
struct pxa3xx_gcu_priv *priv =
|
||||
container_of(filp->f_op, struct pxa3xx_gcu_priv, misc_fops);
|
||||
struct pxa3xx_gcu_priv *priv = file_dev(file);
|
||||
|
||||
switch (cmd) {
|
||||
case PXA3XX_GCU_IOCTL_RESET:
|
||||
|
|
@ -471,11 +474,10 @@ pxa3xx_gcu_misc_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
|||
}
|
||||
|
||||
static int
|
||||
pxa3xx_gcu_misc_mmap(struct file *filp, struct vm_area_struct *vma)
|
||||
pxa3xx_gcu_misc_mmap(struct file *file, struct vm_area_struct *vma)
|
||||
{
|
||||
unsigned int size = vma->vm_end - vma->vm_start;
|
||||
struct pxa3xx_gcu_priv *priv =
|
||||
container_of(filp->f_op, struct pxa3xx_gcu_priv, misc_fops);
|
||||
struct pxa3xx_gcu_priv *priv = file_dev(file);
|
||||
|
||||
switch (vma->vm_pgoff) {
|
||||
case 0:
|
||||
|
|
@ -574,6 +576,13 @@ free_buffers(struct platform_device *dev,
|
|||
priv->free = NULL;
|
||||
}
|
||||
|
||||
static const struct file_operations misc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.write = pxa3xx_gcu_misc_write,
|
||||
.unlocked_ioctl = pxa3xx_gcu_misc_ioctl,
|
||||
.mmap = pxa3xx_gcu_misc_mmap
|
||||
};
|
||||
|
||||
static int pxa3xx_gcu_probe(struct platform_device *dev)
|
||||
{
|
||||
int i, ret, irq;
|
||||
|
|
@ -601,14 +610,9 @@ static int pxa3xx_gcu_probe(struct platform_device *dev)
|
|||
* container_of(). This isn't really necessary as we have a fixed minor
|
||||
* number anyway, but this is to avoid statics. */
|
||||
|
||||
priv->misc_fops.owner = THIS_MODULE;
|
||||
priv->misc_fops.write = pxa3xx_gcu_misc_write;
|
||||
priv->misc_fops.unlocked_ioctl = pxa3xx_gcu_misc_ioctl;
|
||||
priv->misc_fops.mmap = pxa3xx_gcu_misc_mmap;
|
||||
|
||||
priv->misc_dev.minor = MISCDEV_MINOR,
|
||||
priv->misc_dev.name = DRV_NAME,
|
||||
priv->misc_dev.fops = &priv->misc_fops,
|
||||
priv->misc_dev.fops = &misc_fops,
|
||||
|
||||
/* register misc device */
|
||||
ret = misc_register(&priv->misc_dev);
|
||||
|
|
|
|||
Loading…
Reference in a new issue