aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAge
* Merge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6Linus Torvalds2007-05-04
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6: [CRYPTO] padlock: Remove pointless padlock module [CRYPTO] api: Add ablkcipher_request_set_tfm [CRYPTO] cryptd: Add software async crypto daemon [CRYPTO] api: Do not remove users unless new algorithm matches [CRYPTO] cryptomgr: Fix parsing of nested templates [CRYPTO] api: Add async blkcipher type [CRYPTO] templates: Pass type/mask when creating instances [CRYPTO] tcrypt: Use async blkcipher interface [CRYPTO] api: Add async block cipher interface [CRYPTO] api: Proc functions should be marked as unused
| * [CRYPTO] padlock: Remove pointless padlock moduleSimon Arlott2007-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When this is compiled in it is run too early to do anything useful: [ 6.052000] padlock: No VIA PadLock drivers have been loaded. [ 6.052000] padlock: Using VIA PadLock ACE for AES algorithm. [ 6.052000] padlock: Using VIA PadLock ACE for SHA1/SHA256 algorithms. When it's a module it isn't doing anything special, the same functionality can be provided in userspace by "probeall padlock padlock-aes padlock-sha" in modules.conf if it is required. Signed-off-by: Simon Arlott <simon@fire.lp0.eu> Cc: Michal Ludvig <michal@logix.cz> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* | ps3av: Use __func__ instead of __FUNCTION__Geert Uytterhoeven2007-05-04
| | | | | | | | | | | | | | ps3av: Replace GNU extension `__FUNCTION__' by C99 `__func__' Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | ps3fb: Use __func__ instead of __FUNCTION__Geert Uytterhoeven2007-05-04
| | | | | | | | | | | | | | ps3fb: Replace GNU extension `__FUNCTION__' by C99 `__func__' Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | ps3: Make `ps3videomode -v 0 (auto mode) work againMasashi Kimoto2007-05-04
| | | | | | | | | | | | | | ps3: Make `ps3videomode -v 0' (auto mode) work again Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | ps3av: misc updatesGeert Uytterhoeven2007-05-04
| | | | | | | | | | | | | | | | | | | | | | ps3av: - Move the definition of struct ps3av to ps3av.c, as it's locally used only. - Kill ps3av.sem, use the existing ps3av.mutex instead. - Make the 512-byte buffer in ps3av_do_pkt() static to reduce stack usage. Its use is protected by a semaphore anyway. Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | ps3fb: kill superfluous zero initializationsGeert Uytterhoeven2007-05-04
| | | | | | | | | | | | | | ps3fb: kill superfluous zero initializations Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | ps3av: thread updatesGeert Uytterhoeven2007-05-04
| | | | | | | | | | | | | | | | ps3av: Replace the kernel_thread and the ping pong semaphores by a singlethread workqueue and a completion. Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | ps3fb: atomic fixesGeert Uytterhoeven2007-05-04
| | | | | | | | | | | | | | | | ps3fb: Use atomic_dec_if_positive() instead of bogus atomic_read()/atomic_dec() combinations Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | ps3fb: thread updatesGeert Uytterhoeven2007-05-04
| | | | | | | | | | | | | | | | ps3fb: Replace the kernel_thread and the semaphore by a proper kthread, which is simply woken up when the screen must be updated Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68k: kill skb_copy_from_linear_data compiler warningsGeert Uytterhoeven2007-05-04
| | | | | | | | | | | | | | | | The recent conversion from `memcpy' to `skb_copy_from_linear_data' removed a few casts, which were needed to silence compiler warnings. Re-add them. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Amiga Zorro bus: kill resource_size_t warningsGeert Uytterhoeven2007-05-04
| | | | | | | | | | | | | | | | Kill resource_size_t warnings by casting resource_size_t to unsigned long when formatting Zorro bus resources, as they are always 32-bit. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | SONIC interrupt handlingFinn Thain2007-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Install the built-in macsonic interrupt handler on both IRQs when using via_alt_mapping. Otherwise the rare interrupt that still comes from the nubus slot will wedge the nubus. $ cat /proc/interrupts auto 2: 89176 via2 auto 3: 744367 sonic auto 4: 0 scc auto 6: 318363 via1 auto 7: 0 NMI mac 9: 119413 framebuffer vbl mac 10: 1971 ADB mac 14: 198517 timer mac 17: 89104 nubus mac 19: 72 Mac ESP SCSI mac 56: 629 sonic mac 62: 1142593 ide0 Version 1 of this patch had a bug where a nubus sonic card would register two interrupt handlers. Only a built-in sonic needs both. Versions 2 and 3 needed some cleanups, as Raylynn Knight and Christoph Hellwig pointed out (thanks). Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | SONIC: small fix and cleanupFinn Thain2007-05-04
| | | | | | | | | | | | | | | | | | | | | | Fix a potential problem in the timeout handling: don't free the DMA buffers before resetting the chip. Also a trivial cleanup. Bring macsonic and jazzsonic into sync. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68k: macmace fixesFinn Thain2007-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a race condition in the transmit code, where the dma interrupt could update the free tx buffer count concurrently and wedge the tx queue. Fix the misuse of the rx frame status and rx frame length registers: no more "fifo overrun" errors caused by the OFLOW bit being tested in the frame length register (instead of the status register), and no more missed packets due to incorrect length taken from status register (instead of the frame length register). Fix a panic (skb_over_panic BUG) caused by allocating and then copying an incoming packet while the packet length register was changing. Cut-and-paste the reset code from the powermac mace driver (mace.c), so the NIC functions when MacOS does not initialise it (important for anyone wanting to use the Emile boot loader). Cut-and-paste the error counting and timeout recovery code from mace.c. Fix over allocation of rx buffer memory (it's page order, not page count). Converted to driver model. Converted to DMA API. Since I've run out of ways to make it fail, and since it performs well now, promote the driver from EXPERIMENTAL status. Tested on both quadra 840av and 660av. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | CUDA ADB fixesFinn Thain2007-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the flakiness in the CUDA ADB driver on m68k macs (keypresses getting wedged down or ADB just going AWOL altogether). The only IRQ used by this driver is the VIA shift register IRQ. The PowerMac conditional code disables the other VIA IRQ sources, so don't mess with the other IRQ flags in the common code -- m68k macs need them. When polling, don't disable local interrupts when we only need to disable the CUDA interrupt. Unless polling, don't clear the shift register IRQ flag. On m68k macs this creates a race that often breaks CUDA ADB. Tested on Quadra 840av and LC630 (both m68k); also Beige G3 (powerpc). Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68k: Mac II ADB fixesFinn Thain2007-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a crash caused by requests placed in the queue with the completed flag already set. This lead to some ADB_SYNC requests returning early and their request structs being popped off the stack while still queued. Stack corruption ensued or an invalid request callback pointer was invoked or both. Eliminate macii_retransmit() and its buggy implementation of macii_write(). Have macii_queue_poll() fully initialise the request queues. Fix a bug in macii_queue_poll() where the last_req pointer was not being set. This caused some requests to leave the queue before being completed (and would also corrupt the stack under certain conditions). Fix a race in macii_start that could set the state machine to "reading" while current_req was null. No longer send poll commands with the ADBREQ_REPLY flag -- doing that caused the replies to be stored in the request buffer where they were forgotten about. Don't autopoll by continuously sending new Talk commands. Get the controller to do that for us. This reduces the ADB interrupt rate on an idle bus to about 5 per second. Only autopoll the devices that were probed. Explicitly clear the interrupt flag when polling. Use disable_irq rather than local_irq_save when polling. Remove excess local_irq_save/restore pairs. Improve bus timeout and service request detection. Remove unused code (last_reply, adb_dir etc) and unneeded code (prefix_len, first_byte etc). Change TIP and TACK to their correct names on this ADB controller (ST_EVEN and ST_ODD). Add some commentry. Add a generous quantity of sanity checks (BUG_ONs). Let m68k macs use the adb_sync boot param too. Tested on Mac II, Mac IIci, Quadra 650, Quadra 700 etc. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68k: Mac DP8390 updateFinn Thain2007-05-04
| | | | | | | | | | | | | | | | | | Fix the support for C/NET nubus ethernet cards etc. Sync up the DP8390 driver with the latest code in the mac68k repo. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | NuBus header updateFinn Thain2007-05-04
| | | | | | | | | | | | | | | | | | Sync the nubus defines with the latest code in the mac68k repo. Some of these are needed for DP8390 driver update in the next patch. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68k: Amiga A2065 and Ariadne TX statisticsGeert Uytterhoeven2007-05-04
| | | | | | | | | | | | | | | | Add missing code to the Amiga A2065 and Ariadne drivers to update net_device_stats.tx_bytes. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68k: pmu_queue_request() declaration conflictFinn Thain2007-05-04
| | | | | | | | | | | | | | | | | | Fixes a "static qualifier follows non-static qualifier" error from gcc 4. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68k: Atari SCSI workqueue updatesGeert Uytterhoeven2007-05-04
| | | | | | | | | | | | | | Workqueue updates for the Atari SCSI driver Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | hilkbd: Kill compiler warning and fix comment dyslexiaGeert Uytterhoeven2007-05-04
| | | | | | | | | | | | | | hilkbd: Kill compiler warning and fix comment dyslexia Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68k: Mac89x0 Ethernet netif updatesMatthias Urlichs2007-05-04
| | | | | | | | | | | | | | | | | | Macintosh CS89x0 Ethernet: Netif updates Addition of netif_stop_queue() before transmission by Michael Schmitz skb_copy_{from,to}_linear_data() conversion by Geert Uytterhoeven Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68k: Atari fb revivalMichael Schmitz2007-05-04
| | | | | | | | | | | | | | | | | | | | | | Update the atari fb to 2.6 by Michael Schmitz, Reformatting and rewrite of bit plane functions by Roman Zippel, A few more fixes by Geert Uytterhoeven. Signed-off-by: Michael Schmitz <schmitz@debian.org> Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68k: Atari keyboard and mouse support.Michael Schmitz2007-05-04
| | | | | | | | | | | | | | | | | | | | Atari keyboard and mouse support. (reformating and Kconfig fixes by Roman Zippel) Signed-off-by: Michael Schmitz <schmitz@debian.org> Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68k: Atari SCSI driver compile fixesRoman Zippel2007-05-04
| | | | | | | | | | | | | | | | Atari SCSI driver compile fixes Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68k: Reformat the Atari SCSI driverRoman Zippel2007-05-04
| | | | | | | | | | | | | | | | Reformat the Atari SCSI driver Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68k: Atari SCSI revivalMichael Schmitz2007-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | SCSI should be working on a TT (but someone should really try!) but causes trouble on a Falcon (as in: it ate a filesystem of mine) at least when used concurrently with IDE. I have the notion it's because locking of the ST-DMA interrupt by IDE is broken in 2.6 (the IDE driver always complains about trying to release an already-released ST-DMA). Needs more work, but that's on the IDE or m68k interrupt side rather than SCSI. Signed-off-by: Michael Schmitz <schmitz@debian.org> Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6Linus Torvalds2007-05-04
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: (44 commits) i2c-s3c2410: Fix bug in releasing driver i2c-s3c2410: Fix I2C SDA to SCL setup time i2c: New i2c-tiny-usb bus driver i2c: Documentation update i2c: SPIN_LOCK_UNLOCKED cleanup i2c: Obsolete i2c-ixp2000, i2c-ixp4xx and scx200_i2c i2c: New Simtec I2C bus driver i2c: Bitbanging I2C bus driver using the GPIO API Use menuconfig objects - I2C i2c: Restore i2c_smbus_read_block_data i2c-pxa: Clean transaction stop i2c-algo-bit: Improve debugging i2c-algo-bit: Implement a 50/50 SCL duty cycle i2c-omap: Switch to static adapter numbering i2c: Blackfin Two Wire Interface driver i2c-algo-sgi: Comment and whitespace cleanups i2c: Make i2c_del_driver a void function i2c: Move i2c-isa-only exported symbol declarations i2c: Document i2c_new_device() i2c: Add i2c_new_probed_device() ... Fixed trivial conflict in Documentation/feature-removal-schedule.txt manually. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * | i2c-s3c2410: Fix bug in releasing driverBen Dooks2007-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When compiled as a module, the i2c-s3c2410 driver does not free either the IRQ or the i2c adapter it attached to the system. As part of this fix, move to the usual kernel style of freeing items as part of the probe error path making the remove process easier. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | i2c-s3c2410: Fix I2C SDA to SCL setup timeBen Dooks2007-05-01
| | | | | | | | | | | | | | | | | | | | | | | | Fix the setup time for SDA to SCL due to the way the S3C24XX I2C controller works. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | i2c: New i2c-tiny-usb bus driverTill Harbaum2007-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a driver for the i2c-tiny-usb interface. This is a simple do-it-yourself USB to I2C interface targeted at experimental and home use. See the i2c-tiny-usb homepage for hardware details: http://www.harbaum.org/till/i2c_tiny_usb Signed-off-by: Till Harbaum <till@harbaum.org> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | i2c: SPIN_LOCK_UNLOCKED cleanupMilind Arun Choudhary2007-05-01
| | | | | | | | | | | | | | | | | | | | | SPIN_LOCK_UNLOCKED cleanup, use __SPIN_LOCK_UNLOCKED instead. Signed-off-by: Milind Arun Choudhary <milindchoudhary@gmail.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | i2c: Obsolete i2c-ixp2000, i2c-ixp4xx and scx200_i2cJean Delvare2007-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | The new generic i2c-gpio driver should be used instead. The obsolete drivers will be removed in September 2007. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Deepak Saxena <dsaxena@plexity.net> Cc: Jordan Crouse <jordan.crouse@amd.com>
| * | i2c: New Simtec I2C bus driverBen Dooks2007-05-01
| | | | | | | | | | | | | | | | | | | | | Platform driver for the Simtec CPLD based simple I2C logic. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | i2c: Bitbanging I2C bus driver using the GPIO APIHaavard Skinnemoen2007-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a very simple bitbanging I2C bus driver utilizing the new arch-neutral GPIO API. Useful for chips that don't have a built-in I2C controller, additional I2C busses, or testing purposes. To use, include something similar to the following in the board-specific setup code: #include <linux/i2c-gpio.h> static struct i2c_gpio_platform_data i2c_gpio_data = { .sda_pin = GPIO_PIN_FOO, .scl_pin = GPIO_PIN_BAR, }; static struct platform_device i2c_gpio_device = { .name = "i2c-gpio", .id = 0, .dev = { .platform_data = &i2c_gpio_data, }, }; Register this platform_device, set up the I2C pins as GPIO if required and you're ready to go. This will use default values for udelay and timeout, and will work with GPIO hardware that does not support open drain mode, but allows sensing of the SDA and SCL lines even when they are being driven. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | Use menuconfig objects - I2CJan Engelhardt2007-05-01
| | | | | | | | | | | | | | | | | | | | | | | | Allow the whole I2C menu to be disabled at once without diving into the submenus for deselecting all options (should the user desire so). Signed-off-by: Jan Engelhardt <jengelh@gmx.de> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | i2c: Restore i2c_smbus_read_block_dataJean Delvare2007-05-01
| | | | | | | | | | | | | | | | | | | | | Add back the i2c_smbus_read_block_data helper function, it is needed by the upcoming lm93 hardware monitoring driver and possibly others. Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | i2c-pxa: Clean transaction stopJean Delvare2007-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was reported to me that the i2c-pxa driver was not able to process more that 50 transactions per second. Investigation revealed that the I2C unit was busy for 20 ms after every transaction. The reason seems to be that we forget to clear the STOP and ACKNACK bits at the end of the transaction. According to the PXA27x developer's manual, we shall do so. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Lennert Buytenhek <kernel@wantstofly.org> Cc: Nicolas Pitre <nico@cam.org>
| * | i2c-algo-bit: Improve debuggingJean Delvare2007-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve the debugging features of the i2c-algo-bit driver: * Make it possible to compile the driver without debugging support at all, making it much smaller. * Use dev_dbg() for debugging messages where possible, and dev_err() for error messages. * Remove redundant debugging messages. These changes allowed for minor code cleanups, which are included as well. Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | i2c-algo-bit: Implement a 50/50 SCL duty cycleJean Delvare2007-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original i2c-algo-bit implementation uses a 33/66 SCL duty cycle when bits are being written on the bus. While the I2C specification doesn't forbid it, this prevents us from driving the I2C bus to its max speed, limiting us to 66 kbps max on standard I2C busses. Implementing a 50/50 duty cycle instead lets us max out the bandwidth up to the theoretical max of 100 kbps on standard I2C busses. This is particularly important when large amounts of data need to be transfered over the bus, as is the case with some TV adapters when the firmware is being uploaded. In fact this change even allows, at least in theory, fast-mode I2C support at 125, 166 and 250 kbps. There's no way to reach the theoretical max of 400 kbps with this implementation. But I don't think we want to put efforts in that direction anyway: software-driven I2C is very CPU-intensive and bad for latency. Other timing changes: * Don't set SDA high explicitly on error, we're going to issue a stop condition before we leave anyway. * If an error occurs when sending the slave address, yield the CPU before retrying, and remove the additional delay after the new start condition. Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | i2c-omap: Switch to static adapter numberingDavid Brownell2007-05-01
| | | | | | | | | | | | | | | | | | | | | | | | Update the OMAP I2C driver to use i2c_add_numbered_adapter(), so that later patches can convert boards to using new-style drivers. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | i2c: Blackfin Two Wire Interface driverBryan Wu2007-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The i2c linux driver for blackfin architecture which supports blackfin on-chip TWI controller i2c operation. Signed-off-by: Bryan Wu <bryan.wu@analog.com> Reviewed-by: Alexey Dobriyan <adobriyan@gmail.com> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | i2c-algo-sgi: Comment and whitespace cleanupsLadislav Michl2007-05-01
| | | | | | | | | | | | | | | Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | i2c: Make i2c_del_driver a void functionJean Delvare2007-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make i2c_del_driver a void function, like all other driver removal functions. It always returned 0 even when errors occured, and nobody ever actually checked the return value anyway. And we cannot fail a module removal anyway. Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | i2c: Move i2c-isa-only exported symbol declarationsJean Delvare2007-05-01
| | | | | | | | | | | | | | | | | | | | | | | | Move the declaration of i2c-isa-only exported symbols to i2c-isa itself, that's the best way to ensure nobody will attempt to use them. Hopefully we'll get rid of the exports themselves soon anyway. Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | i2c: Add i2c_new_probed_device()Jean Delvare2007-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new helper function to instantiate an i2c device. It is meant as a replacement for i2c_new_device() when you don't know for sure at which address your I2C/SMBus device lives. This happens frequently on TV adapters for example, you know there is a tuner chip on the bus, but depending on the exact board model and revision, it can live at different addresses. So, the new i2c_new_probed_device() function will probe the bus according to a list of addresses, and as soon as one of these addresses responds, it will call i2c_new_device() on that one address. This function will make it possible to port the old i2c drivers to the new model quickly. Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | i2c-algo-bit: Add i2c_bit_add_numbered_busJean Delvare2007-05-01
| | | | | | | | | | | | | | | | | | | | | | | | Add i2c_bit_add_numbered_bus(), which is equivalent to i2c_bit_add_bus except that it calls i2c_add_numbered_adapter() at the end instead of i2c_add_adapter(). Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | i2c: i2c EXPORT_SYMBOL cleanupDavid Brownell2007-05-01
| | | | | | | | | | | | | | | | | | | | | | | | Make i2c-core.c obey Documentation/CodingStyle better by snugging the EXPORT_SYMBOL declarations next to the relevant definitions. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Jean Delvare <khali@linux-fr.org>