aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-07-28hwmon: (lm90) Refactor reading of config2 registerJean Delvare1-19/+6
Several vendors implement a second configuration register, which we check during device detection. Refactor the code to avoid duplication. Signed-off-by: Jean Delvare <[email protected]> Cc: Stijn Devriendt <[email protected]> Cc: Guenter Roeck <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2011-07-28hwmon: (lm90) Make SA56004 detection more robustJean Delvare1-2/+13
With a device ID register value of 0, the SA56004 detection is rather weak. Check several other register too to confirm the detection, as we do for other supported devices. Signed-off-by: Jean Delvare <[email protected]> Cc: Stijn Devriendt <[email protected]> Cc: Guenter Roeck <[email protected]> Acked-by: Stijn Devriendt <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2011-07-28hwmon: (lm90) Simplify handling of extended local temp registerJean Delvare1-15/+6
The optional extended local temperature register can never have address 0, as this address is already used by another register. Thus we can get rid of flag LM90_HAVE_LOCAL_EXT and simply rely on reg_local_ext being non-zero to determine if a given chip has this extension or not. This makes the code more simple. Signed-off-by: Jean Delvare <[email protected]> Cc: Stijn Devriendt <[email protected]> Cc: Guenter Roeck <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2011-07-28hwmon: (pmbus) Add client driver for LM25066, LM5064, and LM5066Guenter Roeck6-1/+444
PMBus client driver supporting National Semiconductor LM25066, LM5064, and LM5066. Signed-off-by: Guenter Roeck <[email protected]> Reviewed-by: Robert Coulson <[email protected]>
2011-07-28hwmon: (max34440) Add support for peak attributesGuenter Roeck2-0/+69
Add support for voltage, current, and temperature peak (historic maximum) attributes. Signed-off-by: Guenter Roeck <[email protected]> Reviewed-by: Robert Coulson <[email protected]>
2011-07-28hwmon: (max8688) Add support for peak attributesGuenter Roeck2-0/+67
Add support for voltage, current, and temperature peak (historic maximum) attributes. Signed-off-by: Guenter Roeck <[email protected]>
2011-07-28hwmon: (max16064) Add support for peak attributesGuenter Roeck2-0/+55
Add support for voltage and temperature peak (historic maximum) attributes. Signed-off-by: Guenter Roeck <[email protected]> Reviewed-by: Robert Coulson <[email protected]>
2011-07-28hwmon: (adm1275) Add support for peak attributesGuenter Roeck2-2/+66
Add support for voltage and current peak (historic maximum) attributes. Signed-off-by: Guenter Roeck <[email protected]> Reviewed-by: Robert Coulson <[email protected]>
2011-07-28hwmon: (pmbus) Add support for peak attributesGuenter Roeck2-15/+163
Most PMBus devices provide manufacturer specific commands to read low and/or high peak values for some or all of its sensors. To support providing those values as lowest/highest attributes to the user, introduce virtual PMBus commands. Those commands reside outside the normal command set and have to be implemented in device specific code, which map the virtual commands to device specific commands. Signed-off-by: Guenter Roeck <[email protected]> Reviewed-by: Robert Coulson <[email protected]>
2011-07-28hwmon: Add new attributes to sysfs ABIGuenter Roeck1-0/+46
Add the following attributes to the sysfs ABI. in[0-*]_average in[0-*]_lowest in[0-*]_highest in[0-*]_reset_history in_reset_history curr[1-*]_average curr[1-*]_lowest curr[1-*]_highest curr[1-*]_reset_history curr_reset_history Signed-off-by: Guenter Roeck <[email protected]> Reviewed-by: Robert Coulson <[email protected]>
2011-07-28hwmon: (pmbus) Strengthen check for status register existenceGuenter Roeck1-21/+23
With virtual register page support, it is now possible that the status register on virtual pages does not exist or is itself virtual. To take this into account when creating alarm attributes, generate those attributes only if the status register on the respective page is known to exist. Signed-off-by: Guenter Roeck <[email protected]> Reviewed-by: Robert Coulson <[email protected]>
2011-07-28hwmon: (pmbus) Add support for virtual pagesGuenter Roeck2-28/+20
Some PMBus chips have non-standard sensor registers. An easy way to support such sensors is to introduce virtual pages and map the non-standard registers into standard registers on an extra page. For this to work, the code verifying if the configured number of pages exists has to be removed. Since a wrong number of pages can only be configured in a front-end driver, this should not have a practical impact since the resulting errors should be found during development and testing. Also, functions to read the chip status while checking if a command register exists must be modified to no longer set the page register before reading the status, since the physical page associated with the checked register may not exist. This does not make a functional difference since the page was already set when the attempt to read the register was made. Signed-off-by: Guenter Roeck <[email protected]> Reviewed-by: Robert Coulson <[email protected]>
2011-07-28hwmon: (pmbus) Support reading and writing of word registers in device ↵Guenter Roeck2-6/+50
specific code Some PMBus devices use non-standard registers for some of the sensors and/or limits. To support such devices, add code to support reading and writing of word size registers in device specific code. Signed-off-by: Guenter Roeck <[email protected]> Reviewed-by: Robert Coulson <[email protected]>
2011-07-28hwmon: (pmbus) Increase attribute name sizeGuenter Roeck1-4/+6
Some hwmon sysfs attributes have a length of 20 bytes (plus terminating 0). I2C_NAME_SIZE is defined as 20 and thus can not be used to define the length of hwmon sysfs attributes. Replace it with PMBUS_NAME_SIZE, set to 24. Signed-off-by: Guenter Roeck <[email protected]> Reviewed-by: Robert Coulson <[email protected]>
2011-07-28hwmon: (pmbus) Add ADP4000, NCP4200 and NCP4208 to list of supported devicesGuenter Roeck3-2/+12
Add ADP4000, NCP4200 and NCP4208 to the list of devices supported by the generic PMBus driver, and add device IDs to enable explicit instantiation. Signed-off-by: Guenter Roeck <[email protected]> Reviewed-by: Robert Coulson <[email protected]> Acked-by: Jean Delvare <[email protected]>
2011-07-28hwmon: (pmbus) Add support for VID output voltage modeGuenter Roeck7-34/+105
In VID mode, output voltages are measured and reported as VID values, and have to be converted to voltages using VID conversion tables or functions. Support is added for VR11 only at this time. This patch enables support for PMBus devices supporting VID VR11 based output voltage selection such as NCP4200 and NCP4208. Signed-off-by: Guenter Roeck <[email protected]> Reviewed-by: Robert Coulson <[email protected]>
2011-07-28[media] em28xx: Fix DVB-C maxsize for em2884Mauro Carvalho Chehab2-12/+34
The logic at em28xx_isoc_dvb_max_packetsize() sucks, at least for newer the needed packet size. Yet, it is better than nothing. Rewrite the code in order to change the default to 752 for em2884 and newer chips and provide a better way to handle per-chipset specifics. For em2874, the current default should be enough, as the only em2874 board is currently a 1-seg ISDB-T board, so, it needs only a limited amount of bandwidth. Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-07-28[media] tda18271c2dd: Fix saw filter configuration for DVB-C @6MHzMauro Carvalho Chehab1-1/+19
Currently, the driver assumes that all QAM carriers are spaced with 8MHz. This is wrong, and may decrease QoS on Countries like Brazil, that have DVB-C carriers with 6MHz-spaced. Fortunately, both ITU-T J-83 and EN 300 429 specifies a way to associate the symbol rate with the bandwidth needed for it. For ITU-T J-83 2007 annex A, the maximum symbol rate for 6 MHz is: 6 MHz / 1.15 = 5217391 Bauds For ITU-T J-83 2007 annex C, the maximum symbol rate for 6 MHz is: 6 MHz / 1.13 = 5309735 Bauds. As this tuner is currently used only for DRX-K, and it is currently hard-coded to annex A, I've opted to use the roll-off factor of 0.15, instead of 0.13. If we ever support annex C, the better would be to add a DVB S2API call to allow changing between Annex A and C, and add the 0.13 roll-off factor to it. This code is currently being used on other frontends, so I think we should later add a core function with this code, to warrant that it will be properly implemented everywhere. Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-07-28hwmon: (pmbus) Move PMBus drivers to drivers/hwmon/pmbusGuenter Roeck14-95/+115
Since the number of PMBus drivers is getting large, move them into directory drivers/hwmon/pmbus to improve readability and scalability. Signed-off-by: Guenter Roeck <[email protected]> Reviewed-by: Robert Coulson <[email protected]>
2011-07-28ARM: zynq: remove incorrectly deleted fileArnd Bergmann2-1/+1
My previous commit left the file empty and present in the Makefile, which is a bit dirty and caused problems with 'make distclean', as pointed out by David Howells. This hopefully cleans it up the right way. Signed-off-by: Arnd Bergmann <[email protected]> Acked-by: David Howells <[email protected]> Acked-by: John Linn <[email protected]>
2011-07-28Merge branch 'imx/dt' into next/dtArnd Bergmann3540-226301/+120807
2011-07-28at91: add arch specific ioremap supportJean-Christophe PLAGNIOL-VILLARD2-1/+29
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]> Cc: Nicolas Ferre <[email protected]> Cc: Patrice Vilchez <[email protected]>
2011-07-28at91: factorize sram initJean-Christophe PLAGNIOL-VILLARD9-115/+39
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]> Cc: Nicolas Ferre <[email protected]> Cc: Patrice Vilchez <[email protected]>
2011-07-28at91: move register clocks to soc generic initJean-Christophe PLAGNIOL-VILLARD9-21/+11
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]> Cc: Nicolas Ferre <[email protected]> Cc: Patrice Vilchez <[email protected]>
2011-07-28at91: move clock subsystem init to soc generic initJean-Christophe PLAGNIOL-VILLARD10-31/+18
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]> Cc: Nicolas Ferre <[email protected]> Cc: Patrice Vilchez <[email protected]>
2011-07-28at91: use structure to store the current socJean-Christophe PLAGNIOL-VILLARD10-120/+341
instead of reading the registers everytime the current implementation respect the following constrain: - allow 1 to n soc to be enabled - allow to have a virtual cpu type and subtype - always detect the cpu type and subtype and report it - detect if the soc support is enabled - prepare for sysfs export support - drop soc specific code via compiler when the soc not enabled (via cpu_is_xxx) Today if we read the exid we will have the same value for 9g35 and 9m11 and we will need to check the cidr too with the new implementation we just need to check the soc subtype this will also allow to have specific virtual subtype for rm9200 which the board will have to specify via at91rm9200_set_type(int) as we have no way to detect it. this implementation is inspired by the SH cpu detection support Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]> Cc: Nicolas Ferre <[email protected]> Cc: Patrice Vilchez <[email protected]>
2011-07-28at91: remove AT91_DBGU offset from dbgu register macroJean-Christophe PLAGNIOL-VILLARD5-25/+28
to make the soc base specified at runtime instead of compiled time Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]>
2011-07-28at91: factorize at91 interrupts init to socJean-Christophe PLAGNIOL-VILLARD45-322/+61
they are the same except the default priority Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]> Cc: Nicolas Ferre <[email protected]> Cc: Patrice Vilchez <[email protected]>
2011-07-28at91: introduce commom AT91_BASE_SYSJean-Christophe PLAGNIOL-VILLARD54-173/+232
On all at91 except rm9200 and x40 have the System Controller starts at address 0xffffc000 and has a size of 16KiB. On rm9200 it's start at 0xfffe4000 of 111KiB with non reserved data starting at 0xfffff000 This patch removes the individual definitions of AT91_BASE_SYS and replaces them with a common version at base 0xfffffc000 and size 16KiB and map the same memory space Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]> Cc: Nicolas Ferre <[email protected]> Cc: Patrice Vilchez <[email protected]>
2011-07-28Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparcLinus Torvalds13-34/+95
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: n2_crypto: Attach on Niagara-T3. n2rng: Attach on Niagara-T3. sparc: Detect and handle UltraSPARC-T3 cpu types. sparc: Don't do expensive hypervisor PCR write unless necessary. sparc: Add T3 sun4v cpu type and hypervisor group defines. sparc: Don't leave sparc_pmu_type NULL on sun4v.
2011-07-28Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds36-245/+358
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (32 commits) tg3: Remove 5719 jumbo frames and TSO blocks tg3: Break larger frags into 4k chunks for 5719 tg3: Add tx BD budgeting code tg3: Consolidate code that calls tg3_tx_set_bd() tg3: Add partial fragment unmapping code tg3: Generalize tg3_skb_error_unmap() tg3: Remove short DMA check for 1st fragment tg3: Simplify tx bd assignments tg3: Reintroduce tg3_tx_ring_info ASIX: Use only 11 bits of header for data size ASIX: Simplify condition in rx_fixup() Fix cdc-phonet build bonding: reduce noise during init bonding: fix string comparison errors net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared net: add IFF_SKB_TX_SHARED flag to priv_flags net: sock_sendmsg_nosec() is static forcedeth: fix vlans gianfar: fix bug caused by 87c288c6e9aa31720b72e2bc2d665e24e1653c3e gro: Only reset frag0 when skb can be pulled ...
2011-07-28Merge branch 'for-linus' of git://neil.brown.name/mdLinus Torvalds12-1379/+3093
* 'for-linus' of git://neil.brown.name/md: (75 commits) md/raid10: handle further errors during fix_read_error better. md/raid10: Handle read errors during recovery better. md/raid10: simplify read error handling during recovery. md/raid10: record bad blocks due to write errors during resync/recovery. md/raid10: attempt to fix read errors during resync/check md/raid10: Handle write errors by updating badblock log. md/raid10: clear bad-block record when write succeeds. md/raid10: avoid writing to known bad blocks on known bad drives. md/raid10 record bad blocks as needed during recovery. md/raid10: avoid reading known bad blocks during resync/recovery. md/raid10 - avoid reading from known bad blocks - part 3 md/raid10: avoid reading from known bad blocks - part 2 md/raid10: avoid reading from known bad blocks - part 1 md/raid10: Split handle_read_error out from raid10d. md/raid10: simplify/reindent some loops. md/raid5: Clear bad blocks on successful write. md/raid5. Don't write to known bad block on doubtful devices. md/raid5: write errors should be recorded as bad blocks if possible. md/raid5: use bad-block log to improve handling of uncorrectable read errors. md/raid5: avoid reading from known bad blocks. ...
2011-07-28Merge branch 'for-linus' of ↵Linus Torvalds5-70/+183
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: sound: oss: rename local change_bits to avoid powerpc bitsops.h definition ALSA: hda - Fix duplicated DAC assignments for Realtek ALSA: asihpi - off by one in asihpi_hpi_ioctl() ALSA: hda - Fix Oops with Realtek quirks with NULL adc_nids ALSA: asihpi - bug fix pa use before init. ALSA: hda - Add support for vref-out based mute LED control on IDT codecs
2011-07-28slab: remove one NR_CPUS dependencyEric Dumazet1-2/+3
Reduce high order allocations in do_tune_cpucache() for some setups. (NR_CPUS=4096 -> we need 64KB) Signed-off-by: Eric Dumazet <[email protected]> Acked-by: Christoph Lameter <[email protected]> Signed-off-by: Pekka Enberg <[email protected]>
2011-07-28n2_crypto: Attach on Niagara-T3.David S. Miller1-15/+18
A small modification was necessary since in the machine description for 'n2cp' and 'ncp' nodes, there no longer is an 'intr' property. That's OK because this property was always nothing more than an array of integers '1' ... 'nr_inos + 1' so we can just compute it in-place. Signed-off-by: David S. Miller <[email protected]>
2011-07-28n2rng: Attach on Niagara-T3.David S. Miller2-13/+18
And stop referring to Victoria Falls, as the attribute we're talking about is whether the rng is multi-unit capable which applies to several chip variants now. Signed-off-by: David S. Miller <[email protected]>
2011-07-28[SCSI] fcoe: cleanup cpu selection for incoming requestsVasu Dev1-30/+13
Cleanup to: - have selection for all types of frames, not just FCP. - remove redundant cpu_online check once fcoe_select_cpu called as this is not required since later code flow check for offlined cpu. - Simplify fcoe_select_cpu() by removing unnecessary checks to skip curr_cpu, this also fixes possibly infinite loop in case of curr_cpu is the only cpu while iterating in the loop. This cleanup mainly applies to target as incoming request are mostly for target, therefore Kiran has verified the patch with target also. Signed-off-by: Vasu Dev <[email protected]> Tested-by: Kiran Patil <[email protected]> Tested-by: Ross Brattain <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-07-28[SCSI] fcoe: add fip retry to avoid missing critical keep aliveVasu Dev1-6/+15
Use pending queue to retry FIP frame in case its tx fails and use common pending queue for both fcoe and fip frames using fcoe_port_send. Signed-off-by: Vasu Dev <[email protected]> Tested-by: Ross Brattain <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-07-28[SCSI] libfc: fix warn on in lport retryVasu Dev1-1/+0
The lport retry timer hits warn on in case it has become ready in response from fip login from fcoe_ctlr_flogi_send(), this is possible but safe code path, therefore removing this warn on. Jun 22 03:16:30 10.0.16.6 [488198.316517] host3: Assigned Port ID 180f02 Jun 22 03:16:32 10.0.16.6 [488200.091561] ------------[ cut here ]------------ Jun 22 03:16:32 10.0.16.6 [488200.091586] WARNING: at drivers/scsi/libfc/fc_lport.c:1355 fc_lport_timeout+0xd9/0xe0 [libfc]() Signed-off-by: Vasu Dev <[email protected]> Tested-by: Ross Brattain <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-07-28[SCSI] libfc: Remove the reference to FCP packet from scsi_cmnd in case of errorNeerav Parikh1-0/+1
fc_queuecommand() allocates an FCP packet for each SCSI command and sends it out on the wire. In the process it stores the reference to the FCP packet in the scsi_cmnd structure. Now, in case under stress testing the libfc exchange layer runs out of exchanges the fc_queuecommand() may not be able to send out commands out on the wire. In such a scenario if there is an error in sending the FCP packet out the wire; fc_queuecommand() deletes the FCP packet from internal queue, releases the FCP packet and returns a SCSI_MLQUEUE_HOST_BUSY status to the scsi-ml. But, the reference to the FCP packet set in the scsi_cmnd is not removed from the scsi_cmnd in this code path. This might lead to a crash under stress testing where the scsi_cmnd failed by fc_queuecommand() comes up to fc_eh_abort() via scsi eh thread. fc_eh_abort() will get reference to the FCP packet to be aborted from the scsi_cmnd for further FCP abort related processing and then try to release the FCP packet that has already been released. This patch removes the FCP packet reference from the scsi_cmnd before returning back from fc_queuecommand() in case of an error in sending out the FCP packet. Signed-off-by: Neerav Parikh <[email protected]> Tested-by: Ross Brattain <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-07-28[SCSI] libfc: cleanup sending SRR requestHillf Danton1-2/+0
The variable on stack, namely cdb_op, is not used but removed. [ Patch reworked by Robert Love due to invalid patch format ] Signed-off-by: Hillf Danton <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-07-28[SCSI] libfc: two minor changes in commentsHillf Danton1-2/+2
One change is to cleanup typo in comment for fc_fcp_recv(), another corrects the misleading comment for fc_fcp_abts_resp(). [ Patch reworked by Robert Love due to invalid patch format ] Signed-off-by: Hillf Danton <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-07-28[SCSI] libfc, fcoe: ignore rx frame with wrong xid infoVasu Dev2-3/+5
Drop the rx frame having xid with wrong cpu info or received with xid not matching to our xid. Not dropping such frame is causing panic as that causes accessing data struct beyond their bounds. Signed-off-by: Vasu Dev <[email protected]> Tested-by: Ross Brattain <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-07-28[SCSI] libfc: release exchg cacheHillf Danton1-1/+4
If fail to create workqueue, the newly created cache for exchg has to be released. Signed-off-by: Hillf Danton <[email protected]> Reviewed-by: Vasu Dev <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-07-28[SCSI] libfc: use FC_MAX_ERROR_CNTHillf Danton1-1/+1
Though defined, FC_MAX_ERROR_CNT is not used. It is used now for CRC error in the path of receiving FCP frame. Signed-off-by: Hillf Danton <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-07-28[SCSI] fcoe: remove unused ptype field in fcoe_rcv_infoYi Zou3-3/+0
There is no need to cache the ptype in fcoe_rcv_info struct as it is never used anywhere. Signed-off-by: Yi Zou <[email protected]> Tested-by: Ross Brattain <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-07-28[SCSI] bnx2fc: Update copyright and bump version to 1.0.4Bhanu Prakash Gollapudi6-8/+8
Signed-off-by: Bhanu Prakash Gollapudi <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-07-28[SCSI] bnx2fc: Tx BDs cache in write tasksBhanu Prakash Gollapudi1-7/+22
When there is a single BD for the entire data to be transmitted, use the BD inside the SGL context and set the cached SGE indication in the task context Signed-off-by: Bhanu Prakash Gollapudi <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-07-28watchdog: WatchDog Timer Driver Core - Add minimum and max timeoutWim Van Sebroeck4-0/+21
Add min_timeout (minimum timeout) and max_timeout values so that the framework can check if the new timeout value is between the minimum and maximum timeout values. If both values are 0, then the framework will leave the check for the watchdog device driver itself. Signed-off-by: Alan Cox <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Acked-by: Wolfram Sang <[email protected]>
2011-07-28watchdog: WatchDog Timer Driver Core - Add ioctl callWim Van Sebroeck3-0/+13
Add support for extra ioctl calls by adding a ioctl watchdog operation. This operation will be called before we do our own handling of ioctl commands. This way we can override the internal ioctl command handling and we can also add extra ioctl commands. The ioctl watchdog operation should return the appropriate error codes or -ENOIOCTLCMD if the ioctl command should be handled through the internal ioctl handling of the framework. Signed-off-by: Alan Cox <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Acked-by: Wolfram Sang <[email protected]>