- 28 1月, 2008 40 次提交
-
-
由 Jiri Kosina 提交于
This removes ugly macros IS_* to distinguish devices that need special handling in hid-input, and establish proper quirks for them. Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Jiri Kosina 提交于
Remove unused variable in quirk event handler. Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Jiri Kosina 提交于
BTC 8193 keyboard handles its scrollwheel in very non-standard way. It produces two non-standard usages for scrolling up and down, in both cases with postive value equaling to 1. We handle this by temporary mapping, which we then catch in quirk event handler, and remap to negative HWHEEL even in order to introduce correct behavior. Also the button requires special mapping, as it triggers standard-violating usage code. Reported in kernel.org bugzilla #9385 Reported-by: NKir Kolyshkin <kir@sacred.ru> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Jiri Kosina 提交于
This patch separates also the hid-input quirks that have to be applied at the time the event occurs, so that the generic code handling HUT-compliant devices is not messed up by them too much. Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Jiri Kosina 提交于
Currently, the handling of mapping between hid and input for devices that don't conform to HUT 1.12 specification is very messy -- no per-device handling, no blacklists, conditions on idVendor and idProduct placed all over the code. This patch moves all the device-specific input mapping to a separate file, and introduces a blacklist-style handling for non-standard device-specific mappings. Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Drew Fisher 提交于
Make the Microsoft Wireless Optical Desktop 3.0 work as a mouse. Microsoft Wireless Optical Desktop 3.0 doesn't properly describe its interface class. Specifically, since it doesn't mark the second interface as a mouse (bInterfaceSubclass = 0), it doesn't get HID_QUIRK_NOGET applied to the interface, and then acts broken when polled. Signed-off-by: NDrew Fisher <drew.m.fisher@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Carlos Corbacho 提交于
Reuse the quirks from the Cordless Desktop LX500 - stops some of the extra keys being reported as mouse buttons. Signed-off-by: NCarlos Corbacho <cathectic@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Jiri Kosina 提交于
Genius KB-29E has broken report descriptor, which causes some of the Consumer usages to appear incorrectly as Button usages. We fix it by fixing the report descriptor before it is being parsed. Also a few of the keys violate the HUT standard, so they need a special handling. They currently fall into "Reserved" range as per HUT 1.12. Reported-by: NSzekeres Istvan <szekeres@iii.hu> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Li Zefan 提交于
Don't directly cast list_head * to foo *, this works only when list is the first member of struct foo, and we should not make the assumption how members are ordered in the structure. i.e. struct *f = (struct *f)pos will work if: struct foo { struct list_head list; int i; }; but will fail if: struct foo { int i; struct list_head list; } Signed-off-by: NLi Zefan <lizf@cn.fujitsu.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Pavel Troller 提交于
This mouse distinguishes horizontal wheel from vertical by a special "pseudo event" GenericDesktop.00b8, with values of 0 for vertical and 8 for horizontal wheel. Because this event is supplied by the parser too late, we need to delay a wheel event, wait for this one and send either REL_WHEEL or REL_HWHEEL to input depending on the event value. Signed-off-by: NPavel Troller <patrol@sinus.cz> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Michel Daenzer 提交于
Reuse the existing quirks for Apple laptop USB keyboards. Signed-off-by: NMichel Daenzer <michel@tungstengraphics.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Michel Daenzer 提交于
Preserve identifiers exposed in build and run time configuration though in order not to break existing configurations. This is in preparation for adding support for Apple aluminum USB keyboards. Signed-off-by: NMichel Daenzer <michel@tungstengraphics.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Jan Kiszka 提交于
The MS Presenter 8000 bluetooth mouse is a "dual-use" device: If you press a button on the top, you can turn it around and find special keys on the other side, useful for presentations. This patch maps those three bottom-keys that are not already detected to the intended functions. The magic bottom on the top is mapped to F5 when we switch from mouse to presenter mode in order to activate the presentation mode in the related software (e.g. OpenOffice). Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6由 Linus Torvalds 提交于
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (54 commits) MAINTIANERS: just use Mike gmail e-mail for contact and pawn the serial driver off onto Sonic [Blackfin] arch: remove old I2C BF54x porting. [Blackfin] arch: Add the semtimedop syscall. Upstream uClibc doesn't compile without it. [Blackfin] arch: fix bug kernel boot message: memory information is not reasonable [Blackfin] arch: use common flash driver to setup partitions rather than the bf5xx-flash driver [Blackfin] arch: Fix bug - kernel build with Debug option enabled fails to boot up [Blackfin] arch: Fix bug Only RTC interrupt can wake up deeper sleep core. [Blackfin] arch: Add proper SW System Reset delay sequence [Blackfin] arch: Update copyright date [Blackfin] arch: GPIO API cleanup and anomaly update [Blackfin] arch: Fix BUG gpio_direction_output API is not compatitable with GENERIC_GPIO API interface [Blackfin] arch: Initial checkin of the memory protection support. [Blackfin] arch: set_bfin_dma_config shouldnt set SYNC or RESTART by default - add argument or option [Blackfin] arch: Add some comments - fix semicolons [Blackfin] arch: move all code related to CPLB handling into a new subdirectory under kernel/ [Blackfin] arch: print out list of modules if kernel is crashing and tell people if the kernel is tainted [Blackfin] arch: enable generic GPIO based I2C driver in STAMP-BF533, EZKIT-BF533 and EZKIT-BF561 boards [Blackfin] arch: Don't oops_in_progress if single step is comming from the kernel [Blackfin] arch: Fix BUG - kernel sometimes would stuck with KEYBOARD_GPIO on [Blackfin] arch: update to latest anomaly sheets ...
-
由 Kalle Pokki 提交于
All the users of this driver explicitly specify the I2C bus numbers to be used in their platform data. Make the driver respect that. Signed-off-by: NKalle Pokki <kalle.pokki@eke.fi> Cc: Bryan Wu <bryan.wu@analog.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Manuel Lauss 提交于
Convert the i2c-au1550 bus driver to platform driver, and register a platform device for the Alchemy Db/Pb series of boards. Signed-off-by: NManuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Manuel Lauss 提交于
Zero-bytes transfers would leave the bus transaction unfinished (no i2c stop is sent), with the following transfer actually sending the slave address to the previously addressed device, resulting in weird device failures (e.g. reset minute register values in my RTC). This patch instructs the controller to send an I2C STOP right after the slave address in case of a zero-byte transfer. Signed-off-by: NManuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jon Smirl 提交于
Propagate the error values returned by i2c_wait() instead of overriding them with a meaningless -1. Signed-off-by: NJon Smirl <jonsmirl@gmail.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 David Brownell 提交于
This adds a i2c_new_dummy() primitive to help work with devices that consume multiple addresses, which include many I2C eeproms and at least one RTC. Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
It is no longer required to hold adapter->clist_lock to call i2c_check_addr. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: David Brownell <david-b@pacbell.net>
-
由 Jean Delvare 提交于
We only need to hold adapter->clist_lock when we touch the client list. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 David Brownell 提交于
This goes on top of the patch removing most i2c_adapter.clients usage, updating i2c_attach_client: - Don't call device_register() while holding clist_lock. This removes a self-deadlock when on the i2c_driver.probe() path, for drivers that need to attach new devices (e.g. dummies). - Remove a redundant address check. The driver model core does this as a consequence of guaranteeing unique names. - Move the "device registered" diagnostic so that it never lies; previously, on error paths it would falsely report success. Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
The redundant i2c client list maintained by i2c-core is going away soon, so drivers should stop using it now. Instead, they can use the standard iterator provided by the device driver model (device_for_each_child). Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: David Brownell <david-b@pacbell.net> Cc: Michael Hunold <michael@mihu.de>
-
由 David Brownell 提交于
The i2c_adapter.clients list of i2c_client nodes duplicates driver model state. This patch starts removing that list, letting us remove most existing users of those i2c-core lists. * The core I2C code now iterates over the driver model's list instead of the i2c-internal one in some places where it's safe: - Passing a command/ioctl to each client, a mechanims used almost exclusively by DVB adapters; - Device address checking, in both i2c-core and i2c-dev. * Provide i2c_verify_client() to use with driver model iterators. * Flag the relevant i2c_adapter and i2c_client fields as deprecated, to help prevent new users from appearing. For the moment the list needs to stick around, since some issues show up when deleting devices created by legacy I2C drivers. (They don't follow standard driver model rules. Removing those devices can cause self-deadlocks.) Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
Add support for another variant of the VT8237. I couldn't test I2C block support but I assume it is present as well. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
Checking the PCI function number doesn't add any value, and it makes adding dynamic IDs to the driver more difficult. Drop this check. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
The i2c-amd756 and i2c-viapro drivers make use of the driver_data field of the PCI device ID. When adding device IDs dynamically (by writing to the new_id sysfs file) you cannot set the value of this field by default. It has to be allowed explicitly. Do that, and check the value so that the user can't crash the kernel accidentally. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Mike Rapoport 提交于
Add polling I2C transfer implementation for PXA I2C. This is needed for cases where I2C transactions have to occur at times interrups are disabled. Signed-off-by: NMike Rapoport <mike@compulab.co.il> Acked-by: Neric miao <eric.miao@marvell.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Mike Rapoport 提交于
Allow i2c_transfer to be called in contexts where sleeping is not allowed. It is the reponsability of the caller to ensure that the underlying i2c bus driver will not sleep either. Signed-off-by: NMike Rapoport <mike@compulab.co.il> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
The implementation is unsafe, and anyway one can achieve the same from userspace using i2c-dev + i2cdetect. Also tag i2c_sibyte_add_bus __init. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: Ralf Baechle <ralf@linux-mips.org>
-
由 Jean Delvare 提交于
Discard all I2C driver IDs that aren't used anywhere. That's not just a couple of them, but more like 49 or one quarter of all defined IDs! And this is just a first pass, next will come all IDs that are set but never used, or used but never set. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
I2C block read is supported since the ICH5. I couldn't get it to work using the block buffer, so it's using the old-style byte-by-byte mode for now. Note: I'm also updating the driver author... The i2c-i801 driver was really written by Mark Studebaker, even though he based his work on the i2c-piix4 driver which was written by Philip Edelbrock. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
Clear special mode bits (PEC, block buffer) at driver load time, you never know in which state the device was left by its last user. Also make sure that we reset the block buffer mode at the end of every transaction, not only when PEC was used. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
Use separate flags with explicit names to describe the features of the ICH chip. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
Provide a clearer documentation of which additional features each ICH chip support, and which of these the driver supports. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 David Brownell 提交于
Move the tps65010 header file from the OMAP arch directory to the more generic <linux/i2c/...> directory, and remove the spurious dependency of this driver on OMAP. Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
Rename the main mutex in i2c-core from core_lists to core_lock. This makes more sense now that the redundant lists are gone. Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jean Delvare 提交于
i2c_driver.list is superfluous, this list duplicates the one maintained by the driver core. Drop it. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NDavid Brownell <dbrownell@users.sourceforge.net>
-
由 Jean Delvare 提交于
i2c_adapter.list is superfluous, this list duplicates the one maintained by the driver core. Drop it. Signed-off-by: NJean Delvare <khali@linux-fr.org> Acked-by: NDavid Brownell <dbrownell@users.sourceforge.net>
-
由 Jean Delvare 提交于
Use more standard prototypes for i2c_use_client() and i2c_release_client(). The former now returns a pointer to the client, and the latter no longer returns anything. This matches what all other subsystems do. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: David Brownell <david-b@pacbell.net>
-