- 27 5月, 2011 2 次提交
-
-
由 Trilok Soni 提交于
Add support for PMIC8XXX power key driven over dedicated KYPD_PWR_N pin. Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NTrilok Soni <tsoni@codeaurora.org> Signed-off-by: NAnirudh Ghayal <aghayal@codeaurora.org> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Samuel Ortiz 提交于
With the addition of a platform device mfd_cell pointer, MFD drivers can go back to passing platform data back to their sub drivers. This allows for an mfd_cell->mfd_data removal and thus keep the sub drivers MFD agnostic. This is mostly needed for non MFD aware sub drivers. Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Liam Girdwood <lrg@slimlogic.co.uk> Cc: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
- 17 5月, 2011 4 次提交
-
-
由 Michael Hennerich 提交于
As reported by Jean-Francois Dagenais, the wheel algorithm caused a divide by zero exception due to missing variable pre-initialization. In fact it turned out that the whole algorithm had several problems. It is therefore replaced with something that is known working. Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com> Tested-by: NJean-Francois Dagenais <jeff.dagenais@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Michael Hennerich 提交于
Add option to specify irqflags in platfrom data. Also update copyright notice. Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com> Tested-by: NJean-Francois Dagenais <jeff.dagenais@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Michael Hennerich 提交于
Fix two issues in the threshold and completion interrupt mask and unmask functions. According to the AD714x datasheets the highest stage completion interrupt should be enabled. Fix mask computation. Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com> Tested-by: NJean-Francois Dagenais <jeff.dagenais@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Michael Hennerich 提交于
Add missing input name and set up parent devices so input devices will show in proper places in sysfs tree. Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com> Tested-by: NJean-Francois Dagenais <jeff.dagenais@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 12 5月, 2011 2 次提交
-
-
由 Johan Hovold 提交于
Add support for encoders that have two detents per input signal period. Signed-off-by: NJohan Hovold <jhovold@gmail.com> Acked-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Johan Hovold 提交于
Refactor state retrieval and event reporting in interrupt handler. Remove a few empty lines. Signed-off-by: NJohan Hovold <jhovold@gmail.com> Reviewed-by: NH Hartley Sweeten <hsweeten@visionengravers.com> Acked-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 05 5月, 2011 1 次提交
-
-
由 Ville Syrjala 提交于
If the channel_mask setup fails when configuring it through sysfs, return the error code to the caller instead of claiming success. Signed-off-by: NVille Syrjala <syrjala@sci.fi> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 28 4月, 2011 1 次提交
-
-
由 Axel Lin 提交于
In twl4030_pwrbutton_probe error path, free_irq() was using NULL rather than the driver data as the data pointer so free_irq() wouldn't have matched. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 19 4月, 2011 1 次提交
-
-
由 Igor Mammedov 提交于
Mouse gets "stuck" after restore of PV guest but buttons are in working condition. If driver has been configured for ABS coordinates at start it will get XENKBD_TYPE_POS events and then suddenly after restore it'll start getting XENKBD_TYPE_MOTION events, that will be dropped later and they won't get into user-space. Regression was introduced by hunk 5 and 6 of 5ea5254aa0ad269cfbd2875c973ef25ab5b5e9db ("Input: xen-kbdfront - advertise either absolute or relative coordinates"). Driver on restore should ask xen for request-abs-pointer again if it is available. So restore parts that did it before 5ea5254. Acked-by: NOlaf Hering <olaf@aepfle.de> Signed-off-by: NIgor Mammedov <imammedo@redhat.com> [v1: Expanded the commit description] Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 31 3月, 2011 2 次提交
-
-
由 Lucas De Marchi 提交于
Fixes generated by 'codespell' and manually reviewed. Signed-off-by: NLucas De Marchi <lucas.demarchi@profusion.mobi>
-
由 Peter Hutterer 提交于
Some devices provide absolute axes with min/max of 0/0 (e.g. wacom's ABS_MISC axis). Current uinput restrictions do not allow duplication of these devices and require hacks in userspace to work around this. If the kernel accepts physical devices with a min/max of 0/0, uinput shouldn't disallow the same range. Signed-off-by: NPeter Hutterer <peter.hutterer@who-t.net> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 23 3月, 2011 2 次提交
-
-
由 Haojian Zhuang 提交于
Copy 88pm860x platform data into different mfd_data structure for onkey/touch/codec/power driver. So move the identification of device node from those drivers to mfd driver. Signed-off-by: NHaojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
由 Andres Salomon 提交于
The cell's platform_data is now accessed with a helper function; change clients to use that, and remove the now-unused data_size. Signed-off-by: NAndres Salomon <dilinger@queued.net> Acked-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
- 17 3月, 2011 1 次提交
-
-
由 Dmitry Torokhov 提交于
drivers/input is reserved for input core code and input handlers with drivers belonging to one of the sub-directories. Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 28 2月, 2011 1 次提交
-
-
由 Grant Likely 提交于
Get rid of old users of of_platform_driver in arch/sparc. Most of_platform_driver users can be converted to use the platform_bus directly. Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 21 2月, 2011 8 次提交
-
-
由 Dan Carpenter 提交于
The test here is reversed. It should be if (IS_ERR()) instead of if (!IS_ERR()). Signed-off-by: NDan Carpenter <error27@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Mark Brown 提交于
The adxl34x SPI driver has what appears to be a typo referring to the device as adx134x with the numeral 1 rather than letter l. This appears to be an error so convert. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Mark Brown 提交于
There is a general move to convert drivers to use dev_pm_ops rather than bus specific ones in order to facilitate core development. Do this conversion for adxl34x-spi. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Mark Brown 提交于
There is a general move to convert drivers to use dev_pm_ops rather than bus specific ones in order to facilitate core development. Do this conversion for adxl34x-i2c. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Mark Brown 提交于
There is a general move to convert drivers to use dev_pm_ops rather than bus specific PM operations in order to facilitate core work. Do this conversion for ad714x-spi. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Mark Brown 提交于
There is a general move to convert drivers to use dev_pm_ops rather than bus specific PM operations in order to facilitate core work. Do this conversion for ad714x-i2c. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NMichael Hennerich <michael.hennerich@analog.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Dmitry Torokhov 提交于
Instead of open-coding copying of data structures from userspace use memdup_user() and strndup_user(). Note that this introduces change in behavior because driver used to truncate 'phys' longer than 1024 bytes, but now it will refuse to set 'phys' that long. Arguably trying to set such 'phys' is suspect anyways. Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 David Herrmann 提交于
The check for non-empty device name was botched since we tried to account for extra space for the terminating zero at the same time. Convert to kstrndup() to avoid this problem. Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com> Acked-by: NAristeu Rozanski <aris@ruivo.org> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 06 2月, 2011 1 次提交
-
-
由 Ben Hutchings 提交于
FREQ is a ridiculously short name for a platform-specific macro in a generic header, and it now conflicts with an enumeration in the gspca/ov519 driver. Also delete conditional reference to ixp4xx_get_board_tick_rate() which is not defined anywhere. Signed-off-by: NBen Hutchings <ben@decadent.org.uk> Signed-off-by: NKrzysztof Hałasa <khc@pm.waw.pl>
-
- 03 2月, 2011 1 次提交
-
-
由 Alexander Stein 提交于
IORESOURCE_IRQ_* is wrong for irq_request, use the correct IRQF_* instead. Signed-off-by: NAlexander Stein <alexander.stein@informatik.tu-chemnitz.de> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 01 2月, 2011 1 次提交
-
-
由 Dmitry Torokhov 提交于
All users of old style get/setkeycode methids have been converted so it is time to retire them. Acked-by: NMauro Carvalho Chehab <mchehab@redhat.com> Acked-by: NJiri Kosina <jkosina@suse.cz> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 29 12月, 2010 1 次提交
-
-
由 David Härdeman 提交于
Move winbond-cir from drivers/input/misc/ into drivers/media/rc/ and convert it to use rc-core. Signed-off-by: NDavid Härdeman <david@hardeman.nu> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 20 12月, 2010 1 次提交
-
-
由 Henrik Rydberg 提交于
Today, userspace sets up an input device based on the data it emits. This is not always enough; a tablet and a touchscreen may emit exactly the same data, for instance, but the former should be set up with a pointer whereas the latter does not need to. Recently, a new type of touchpad has emerged where the buttons are under the pad, which changes logic without changing the emitted data. This patch introduces a new ioctl, EVIOCGPROP, which enables user access to a set of device properties useful during setup. The properties are given as a bitmap in the same fashion as the event types, and are also made available via sysfs, uevent and /proc/bus/input/devices. Acked-by: NPing Cheng <pingc@wacom.com> Acked-by: NChase Douglas <chase.douglas@canonical.com> Acked-by: NDmitry Torokhov <dtor@mail.ru> Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
- 16 12月, 2010 2 次提交
-
-
由 Henrik Rydberg 提交于
The MT slots devices all follow the same initialization pattern of creating slots and hinting about buffer size. Let drivers call an initialization function instead, and make sure it can be called repeatedly without side effects. Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
由 Henrik Rydberg 提交于
In preparation for common code to handle a larger set of MT slots devices, move the slots handling over to a separate file. Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
-
- 08 12月, 2010 1 次提交
-
-
由 Dmitry Torokhov 提交于
This should allow loading this module automatically on systems that have such device. Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 01 12月, 2010 1 次提交
-
-
由 Hemanth V 提交于
Add support for CMA3000 Tri-axis accelerometer, which supports Motion detect, Measurement and Free fall modes. CMA3000 supports both I2C/SPI bus for communication, currently the driver supports I2C based communication. Signed-off-by: NHemanth V <hemanthv@ti.com> Reviewed-by: NJonathan Cameron <jic23@cam.ac.uk> Reviewed-by: NSergio Aguirre <saaguirre@ti.com> Reviewed-by: NShubhrajyoti <Shubhrajyoti@ti.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 12 11月, 2010 1 次提交
-
-
由 Dmitry Torokhov 提交于
Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 11 11月, 2010 1 次提交
-
-
由 Dan Carpenter 提交于
It is not allowed to call input_free_device() after calling input_unregister_device() because input devices are refcounted and unregister will free the device if we were holding he last referenc. The preferred style in input/ is to make input_register_device() the last function in the probe which can fail. That way we don't need to call input_unregister_device(). Also do not need to call input_set_drvdata() as nothing in the driver uses the data. Signed-off-by: NDan Carpenter <error27@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 29 10月, 2010 1 次提交
-
-
由 Haojian Zhuang 提交于
Remove original 3-second ONKEY event. Detect ONKEY changing event directly. So both UP and DOWN event of ONKEY in max8925 are monitered. Signed-off-by: NHaojian Zhuang <haojian.zhuang@marvell.com> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
- 25 10月, 2010 1 次提交
-
-
由 Nicolas Kaiser 提交于
Looks like an obvious typo to me. Signed-off-by: NNicolas Kaiser <nikai@nikai.net> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 18 10月, 2010 1 次提交
-
-
由 Justin P. Mattock 提交于
The patch below updates broken web addresses in the kernel Signed-off-by: NJustin P. Mattock <justinmattock@gmail.com> Cc: Maciej W. Rozycki <macro@linux-mips.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Finn Thain <fthain@telegraphics.com.au> Cc: Randy Dunlap <rdunlap@xenotime.net> Cc: Matt Turner <mattst88@gmail.com> Cc: Dimitry Torokhov <dmitry.torokhov@gmail.com> Cc: Mike Frysinger <vapier.adi@gmail.com> Acked-by: NBen Pfaff <blp@cs.stanford.edu> Acked-by: NHans J. Koch <hjk@linutronix.de> Reviewed-by: NFinn Thain <fthain@telegraphics.com.au> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 15 10月, 2010 1 次提交
-
-
由 Arnd Bergmann 提交于
All file_operations should get a .llseek operation so we can make nonseekable_open the default for future file operations without a .llseek pointer. The three cases that we can automatically detect are no_llseek, seq_lseek and default_llseek. For cases where we can we can automatically prove that the file offset is always ignored, we use noop_llseek, which maintains the current behavior of not returning an error from a seek. New drivers should normally not use noop_llseek but instead use no_llseek and call nonseekable_open at open time. Existing drivers can be converted to do the same when the maintainer knows for certain that no user code relies on calling seek on the device file. The generated code is often incorrectly indented and right now contains comments that clarify for each added line why a specific variant was chosen. In the version that gets submitted upstream, the comments will be gone and I will manually fix the indentation, because there does not seem to be a way to do that using coccinelle. Some amount of new code is currently sitting in linux-next that should get the same modifications, which I will do at the end of the merge window. Many thanks to Julia Lawall for helping me learn to write a semantic patch that does all this. ===== begin semantic patch ===== // This adds an llseek= method to all file operations, // as a preparation for making no_llseek the default. // // The rules are // - use no_llseek explicitly if we do nonseekable_open // - use seq_lseek for sequential files // - use default_llseek if we know we access f_pos // - use noop_llseek if we know we don't access f_pos, // but we still want to allow users to call lseek // @ open1 exists @ identifier nested_open; @@ nested_open(...) { <+... nonseekable_open(...) ...+> } @ open exists@ identifier open_f; identifier i, f; identifier open1.nested_open; @@ int open_f(struct inode *i, struct file *f) { <+... ( nonseekable_open(...) | nested_open(...) ) ...+> } @ read disable optional_qualifier exists @ identifier read_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; expression E; identifier func; @@ ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off) { <+... ( *off = E | *off += E | func(..., off, ...) | E = *off ) ...+> } @ read_no_fpos disable optional_qualifier exists @ identifier read_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; @@ ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off) { ... when != off } @ write @ identifier write_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; expression E; identifier func; @@ ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off) { <+... ( *off = E | *off += E | func(..., off, ...) | E = *off ) ...+> } @ write_no_fpos @ identifier write_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; @@ ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off) { ... when != off } @ fops0 @ identifier fops; @@ struct file_operations fops = { ... }; @ has_llseek depends on fops0 @ identifier fops0.fops; identifier llseek_f; @@ struct file_operations fops = { ... .llseek = llseek_f, ... }; @ has_read depends on fops0 @ identifier fops0.fops; identifier read_f; @@ struct file_operations fops = { ... .read = read_f, ... }; @ has_write depends on fops0 @ identifier fops0.fops; identifier write_f; @@ struct file_operations fops = { ... .write = write_f, ... }; @ has_open depends on fops0 @ identifier fops0.fops; identifier open_f; @@ struct file_operations fops = { ... .open = open_f, ... }; // use no_llseek if we call nonseekable_open //////////////////////////////////////////// @ nonseekable1 depends on !has_llseek && has_open @ identifier fops0.fops; identifier nso ~= "nonseekable_open"; @@ struct file_operations fops = { ... .open = nso, ... +.llseek = no_llseek, /* nonseekable */ }; @ nonseekable2 depends on !has_llseek @ identifier fops0.fops; identifier open.open_f; @@ struct file_operations fops = { ... .open = open_f, ... +.llseek = no_llseek, /* open uses nonseekable */ }; // use seq_lseek for sequential files ///////////////////////////////////// @ seq depends on !has_llseek @ identifier fops0.fops; identifier sr ~= "seq_read"; @@ struct file_operations fops = { ... .read = sr, ... +.llseek = seq_lseek, /* we have seq_read */ }; // use default_llseek if there is a readdir /////////////////////////////////////////// @ fops1 depends on !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier readdir_e; @@ // any other fop is used that changes pos struct file_operations fops = { ... .readdir = readdir_e, ... +.llseek = default_llseek, /* readdir is present */ }; // use default_llseek if at least one of read/write touches f_pos ///////////////////////////////////////////////////////////////// @ fops2 depends on !fops1 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read.read_f; @@ // read fops use offset struct file_operations fops = { ... .read = read_f, ... +.llseek = default_llseek, /* read accesses f_pos */ }; @ fops3 depends on !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier write.write_f; @@ // write fops use offset struct file_operations fops = { ... .write = write_f, ... + .llseek = default_llseek, /* write accesses f_pos */ }; // Use noop_llseek if neither read nor write accesses f_pos /////////////////////////////////////////////////////////// @ fops4 depends on !fops1 && !fops2 && !fops3 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read_no_fpos.read_f; identifier write_no_fpos.write_f; @@ // write fops use offset struct file_operations fops = { ... .write = write_f, .read = read_f, ... +.llseek = noop_llseek, /* read and write both use no f_pos */ }; @ depends on has_write && !has_read && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier write_no_fpos.write_f; @@ struct file_operations fops = { ... .write = write_f, ... +.llseek = noop_llseek, /* write uses no f_pos */ }; @ depends on has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read_no_fpos.read_f; @@ struct file_operations fops = { ... .read = read_f, ... +.llseek = noop_llseek, /* read uses no f_pos */ }; @ depends on !has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; @@ struct file_operations fops = { ... +.llseek = noop_llseek, /* no read or write fn */ }; ===== End semantic patch ===== Signed-off-by: NArnd Bergmann <arnd@arndb.de> Cc: Julia Lawall <julia@diku.dk> Cc: Christoph Hellwig <hch@infradead.org>
-