summaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAgeFilesLines
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-asyncLinus Torvalds2009-01-073-87/+121
|\ | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async: async: don't do the initcall stuff post boot bootchart: improve output based on Dave Jones' feedback async: make the final inode deletion an asynchronous event fastboot: Make libata initialization even more async fastboot: make the libata port scan asynchronous fastboot: make scsi probes asynchronous async: Asynchronous function calls to speed up kernel boot
| * fastboot: Make libata initialization even more asyncArjan van de Ven2009-01-071-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | As suggested by Linus: Don't do the libata init in 2 separate steps with a global sync inbetween, but do it as one async step, with a local sync before registering the device. This cuts the boottime on my machine with 2 sata controllers down significantly, and it seems to work. Would be nice if the libata folks take a good look at this patch though.. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
| * fastboot: make the libata port scan asynchronousArjan van de Ven2009-01-071-38/+46
| | | | | | | | | | | | | | | | This patch makes the libata port scanning asynchronous (per device). There is a synchronization point before doing the actual disk scan so that device ordering is not affected. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
| * fastboot: make scsi probes asynchronousArjan van de Ven2009-01-072-42/+70
| | | | | | | | | | | | | | | | This patch makes part of the scsi probe (which is mostly device spin up and the partition scan) asynchronous. Only the part that runs after getting the device number allocated is asynchronous, ensuring that device numbering remains stable. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
* | topology: Fix sparc64 build.David Miller2009-01-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to changeset ba84be2338d3a2b6020d39279335bb06fcd332e1 ("remove linux/hardirq.h from asm-generic/local.h") the sparc64 build started failing on drivers/base/topology.c: drivers/base/topology.c: In function ‘show_physical_package_id’: drivers/base/topology.c:103: error: implicit declaration of function ‘cpu_data’ drivers/base/topology.c:103: error: request for member ‘proc_id’ in something not a structure or union drivers/base/topology.c: In function ‘show_core_id’: drivers/base/topology.c:106: error: request for member ‘core_id’ in something not a structure or union Adding the obvious fix of including asm/cpudata.h into asm/topology.h on sparc64 doesn't fix it, in fact it makes things worse because of the header file dependency chain: linux/gfp.h --> linux/mmzone.h --> linux/topology.h --> asm/topology.h --> asm/cpudata.h --> linux/percpu.h --> linux/slab.h which results in: include/linux/slub_def.h: In function ‘kmalloc_large’: include/linux/slub_def.h:209: error: implicit declaration of function ‘__get_free_pages’ include/linux/slub_def.h:209: error: ‘__GFP_COMP’ undeclared (first use in this function) include/linux/slub_def.h:209: error: (Each undeclared identifier is reported only once include/linux/slub_def.h:209: error: for each function it appears in.) include/linux/slub_def.h:209: warning: cast to pointer from integer of different size The simplest thing to do is to add yet another one-off hack like parts of the guilty changeset did, by putting an explicit linux/hardirq.h include into drivers/base/topology.c Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge branch 'for-linus' of ↵Linus Torvalds2009-01-0727-181/+163
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: reorder struct fw_card for better cache efficiency firewire: fix resetting of bus manager retry counter firewire: improve refcounting of fw_card firewire: typo in comment firewire: fix small memory leak at module removal firewire: fw-sbp2: remove unnecessary locking ieee1934: dv1394: interrupt enabling/disabling broken on big-endian ieee1394: dv1394: annotate frame input/output structs as little endian ieee1394: eth1394: trivial sparse annotations ieee1394: mark bus_info_data as a __be32 array ieee1394: replace CSR_SET_BUS_INFO_GENERATION macro ieee1394: pcilynx: trivial endian annotation ieee1394: ignore nonzero Bus_Info_Block.max_rom, fetch config ROM in quadlets ieee1394: consolidate uses of IEEE1934_BUSID_MAGIC ieee1394: ohci1394: flush MMIO writes before delay in initialization ieee1394: ohci1394: pass error codes from request_irq through ieee1394: ohci1394: don't leave interrupts enabled during suspend/resume ieee1394: mark all hpsb_address_ops instances as const ieee1394: replace a GFP_ATOMIC by GFP_KERNEL allocation
| * | firewire: reorder struct fw_card for better cache efficiencyStefan Richter2009-01-041-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | topology_map is by far the largest member in struct fw_card. Move it to the very end of the struct so that card pointer dereferences have better chances to hit the CPU cache. This requires to increase the topology_map backing store to the size specified in IEEE 1394, i.e. 256 rather than 255 quadlets. Otherwise the topology_map response handler may access invalid memory. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | firewire: fix resetting of bus manager retry counterStefan Richter2009-01-042-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | An earlier change, maybe long ago, removed the copying of self_id_count into card->self_id_count. Since then each bus reset cleared card->bm_retries even when it shouldn't. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | firewire: improve refcounting of fw_cardJay Fenlason2009-01-044-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | Take a reference to the card whenever fw_card_bm_work() is scheduled on that card and release it when the work is done. This allows us to remove the cancel_delayed_work_sync() in fw_core_remove_card(). Signed-off-by: Jay Fenlason <fenlason@redhat.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (patch update)
| * | firewire: typo in commentJay Fenlason2009-01-041-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Jay Fenlason <fenlason@redhat.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | firewire: fix small memory leak at module removalStefan Richter2009-01-043-1/+5
| | | | | | | | | | | | Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | firewire: fw-sbp2: remove unnecessary lockingStefan Richter2009-01-041-15/+6
| | | | | | | | | | | | | | | | | | | | | | | | What was I thinking when I added sbp2_set_generation()? Its locking did nothing (except for implicitly providing the necessary barrier between node IDs update and generation update). Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | ieee1934: dv1394: interrupt enabling/disabling broken on big-endianHarvey Harrison2009-01-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After annotating the frame structs, this was left: drivers/ieee1394/dv1394.c:2113:23: warning: invalid assignment: |= drivers/ieee1394/dv1394.c:2113:23: left side has type restricted __le32 drivers/ieee1394/dv1394.c:2113:23: right side has type int drivers/ieee1394/dv1394.c:2121:24: warning: invalid assignment: &= drivers/ieee1394/dv1394.c:2121:24: left side has type restricted __le32 drivers/ieee1394/dv1394.c:2121:24: right side has type int drivers/ieee1394/dv1394.c:2123:24: warning: invalid assignment: |= drivers/ieee1394/dv1394.c:2123:24: left side has type restricted __le32 drivers/ieee1394/dv1394.c:2123:24: right side has type int Which looks like a real bug on a big-endian arch as it would set/clear the wrong bit. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Bill Fink writes: I finally got a chance to test the patch on my kernel, and live DV viewing using xine still worked fine. Although I admit to being mystified how it works both before and after the patch, since the cpu_to_le32() calls that were added should result in byte swapping on PPC that wasn't being done before. I guess that either the code paths involved aren't actually being triggered by my xine DV viewing, or there's some fortuitous palindromic setting of bits. Tested-by: Bill Fink <billfink@mindspring.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | ieee1394: dv1394: annotate frame input/output structs as little endianHarvey Harrison2009-01-042-24/+24
| | | | | | | | | | | | | | | | | | | | | No Functional changes. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | ieee1394: eth1394: trivial sparse annotationsHarvey Harrison2009-01-042-21/+21
| | | | | | | | | | | | | | | | | | | | | Mostly annotations of ether_type as a be16. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | ieee1394: mark bus_info_data as a __be32 arrayHarvey Harrison2009-01-043-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two access functions get_max_rom and set_hw_config_rom are changed to take __be32 as well. Only bus_info_data was ever passed in so this is OK. All other uses of bus_info_data treated it as a be32 value already. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | ieee1394: replace CSR_SET_BUS_INFO_GENERATION macroHarvey Harrison2009-01-042-8/+8
| | | | | | | | | | | | | | | Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | ieee1394: pcilynx: trivial endian annotationHarvey Harrison2009-01-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | bus_info_block was treated as a be32 everywhere, annotate as such. Removes plenty of sparse warnings. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | ieee1394: ignore nonzero Bus_Info_Block.max_rom, fetch config ROM in quadletsStefan Richter2009-01-043-53/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is already known that buggy firmwares exist which report a bogus link_spd in their config ROM bus info block. We now got the first report of a bogus max_rom too (Freecom FireWire Hard Drive 1TB, http://bugzilla.kernel.org/show_bug.cgi?id=12206). I suspect other OSs only use quadlet reads to fetch the config ROM, otherwise the firmware authors would have noticed their mistake. Hence limit ieee1394's config ROM fetching routine to quadlets as the safe minimum regardless of what the bus info block says. This will potentially slow the bus reset handling by nodemgr somewhat down. But most existing devices support only quadlet reads anyway, hence there will often be no actual difference to before this change. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | ieee1394: consolidate uses of IEEE1934_BUSID_MAGICHarvey Harrison2009-01-044-6/+6
| | | | | | | | | | | | | | | | | | | | | Move the definition out of nodemgr.h and use it in csr.c/pcilynx.c Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | ieee1394: ohci1394: flush MMIO writes before delay in initializationStefan Richter2009-01-041-4/+6
| | | | | | | | | | | | | | | | | | and replace busy-wait by msleep. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | ieee1394: ohci1394: pass error codes from request_irq throughStefan Richter2009-01-041-5/+7
| | | | | | | | | | | | Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | ieee1394: ohci1394: don't leave interrupts enabled during suspend/resumeFrans Pop2009-01-041-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On my HP 2510p I get the following in dmesg during near the end of most resumes from suspend to RAM: irq 19: nobody cared (try booting with the "irqpoll" option) Pid: 0, comm: swapper Not tainted 2.6.28-rc7 #67 Call Trace: <IRQ> [<ffffffffa00ee9e1>] ? ohci_irq_handler+0x60/0x7e9 [ohci1394] [<ffffffff8026aa4d>] __report_bad_irq+0x38/0x87 [<ffffffff8026abaa>] note_interrupt+0x10e/0x174 [<ffffffff8026b262>] handle_fasteoi_irq+0xa7/0xd1 [<ffffffff8020eb87>] do_IRQ+0x73/0xe4 [<ffffffff8020c626>] ret_from_intr+0x0/0xa <EOI> [<ffffffffa0012606>] ? acpi_idle_enter_bm+0x26b/0x2b2 [processor] [<ffffffffa00125fc>] ? acpi_idle_enter_bm+0x261/0x2b2 [processor] [<ffffffff8024f30f>] ? notifier_call_chain+0x33/0x5b [<ffffffff803b9c64>] ? cpuidle_idle_call+0x8c/0xc4 [<ffffffff8020b312>] ? cpu_idle+0x4a/0x9a [<ffffffff8042c5c8>] ? rest_init+0x5c/0x5e handlers: [<ffffffffa00ee981>] (ohci_irq_handler+0x0/0x7e9 [ohci1394]) Disabling IRQ #19 There also seems to be an interrupt storm during suspend/resume when this happens: 19: 99968 33 IO-APIC-fasteoi ohci1394 This patch gets rid of both issues and makes the resume as a whole significantly faster. Signed-off-by: Frans Pop <elendil@planet.nl> As was pointed out in http://lkml.org/lkml/2008/12/6/127, this does not fix the cause of the interrupt storm. However, since the source of the interrupts could not be determined yet, we make the system at least more usable with this change. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | ieee1394: mark all hpsb_address_ops instances as constStefan Richter2009-01-046-14/+16
| | | | | | | | | | | | | | | | | | These are never modified. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| * | ieee1394: replace a GFP_ATOMIC by GFP_KERNEL allocationStefan Richter2009-01-041-1/+1
| | | | | | | | | | | | | | | | | | All callers of hpsb_register_addrspace() can sleep. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
* | | Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6Linus Torvalds2009-01-0726-352/+2517
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: (29 commits) hwmon: Fix various typos hwmon: Check for ACPI resource conflicts hwmon: (lm70) Add TI TMP121 support hwmon: (lm70) Code streamlining and cleanup hwmon: Deprecate the fscher and fscpos drivers hwmon: (fschmd) Add watchdog support hwmon: (fschmd) Cleanups for watchdog support hwmon: (i5k_amb) Load automatically on all 5000/5400 chipsets hwmon: (it87) Add support for the ITE IT8720F hwmon: Don't overuse I2C_CLIENT_MODULE_PARM hwmon: Add LTC4245 driver hwmon: (f71882fg) Fix fan_to/from_reg prototypes hwmon: (f71882fg) Printout fan modes hwmon: (f71882fg) Add documentation hwmon: (f71882fg) Fix auto_channels_temp temp numbering with f8000 hwmon: (f71882fg) Add missing pwm3 attr for f71862fg hwmon: (f71882fg) Add F8000 support hwmon: (f71882fg) Remove the fan_mode module option hwmon: (f71882fg) Separate max and crit alarm and beep hwmon: (f71882fg) Check for hwmon powerdown state ...
| * | | hwmon: Fix various typosJean Delvare2009-01-072-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: Hans de Goede <hdegoede@redhat.com> Acked-by: David Hubbard <david.c.hubbard@gmail.com>
| * | | hwmon: Check for ACPI resource conflictsJean Delvare2009-01-0714-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check for ACPI resource conflicts in hwmon drivers. I've included all Super-I/O and PCI drivers. I've voluntarily left out: * Vendor-specific drivers: if they conflicted on any system, this would pretty much mean that they conflict on all systems, and we would know by now. * Legacy ISA drivers (lm78 and w83781d): they only support chips found on old designs were ACPI either wasn't supported or didn't deal with thermal management. * Drivers accessing the I/O resources indirectly (e.g. through SMBus): the checks are already done where they belong, i.e. in the bus drivers. Signed-off-by: Jean Delvare <jdelvare@suse.de> Acked-by: David Hubbard <david.c.hubbard@gmail.com>
| * | | hwmon: (lm70) Add TI TMP121 supportManuel Lauss2009-01-072-12/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Texas Instruments TMP121 is a SPI temperature sensor very similar to the LM70, with slightly higher resolution. This patch extends the LM70 driver to support the TMP121. The TMP123 differs in pin assign- ment. Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (lm70) Code streamlining and cleanupKaiwan N Billimoria2009-01-072-25/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a byteswap bug in the LM70 temperature sensor driver, which was previously covered up by a converse bug in the driver for the LM70EVAL-LLP board (which is also fixed). Other fixes: doc updates, remove an annoying msleep(), and improve three-wire protocol handling. Signed-off-by: Kaiwan N Billimoria <kaiwan@designergraphix.com> [ dbrownell@users.sourceforge.net: doc and whitespace tweaks ] Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: Deprecate the fscher and fscpos driversHans de Goede2009-01-071-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that the new merged fschmd driver has gained support for the watchdog integrated into these IC's, there is no more reason to keep the old fscher and fscpos drivers around, so mark them as deprecated. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (fschmd) Add watchdog supportHans de Goede2009-01-072-20/+386
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the watchdog part found in _all_ supported FSC sensor chips. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (fschmd) Cleanups for watchdog supportHans de Goede2009-01-071-25/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Various small cleanups in preparation of adding watchdog support, mostly removing _MASK postfix from defines which are not masks. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (i5k_amb) Load automatically on all 5000/5400 chipsetsDarrick J. Wong2009-01-071-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that we cannot create a pci_driver in this driver because PCI will not call this module's probe function if the i5000-edac driver is already loaded. That said, we only want one value (AMBASE) from the PCI config space. Neither driver alters this value, so it's safe to read it. However, we still want the module aliases, so provide that. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (it87) Add support for the ITE IT8720FJean-Marc Spaggiari2009-01-072-10/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow it87.c to handle IT8720 chipset like IT8718 in order to retrieve voltage, temperatures and fans speed from sensors tools. Also updating the related documentation. Signed-off-by: Jean-Marc Spaggiari <jean-marc@spaggiari.org> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: Don't overuse I2C_CLIENT_MODULE_PARMJean Delvare2009-01-075-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I2C_CLIENT_MODULE_PARM is overkill for force_subclients. We really only use 4 out of the 48 slots, so we're better defining a custom variable instead. This change saves 92 bytes of data for each of the five drivers affected. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Wolfgang Grandegger <wg@grandegger.com> Acked-by: Marc Hulsman <m.hulsman@tudelft.nl> Cc: Mark M. Hoffman <mhoffman@lightlink.com>
| * | | hwmon: Add LTC4245 driverIra Snyder2009-01-073-0/+579
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add Linux support for the Linear Technology LTC4245 Multiple Supply Hot Swap controller I2C monitoring interface. Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (f71882fg) Fix fan_to/from_reg prototypesHans de Goede2009-01-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RPM after conversion from / before conversion to a register value can be much more than 65535 (up to 1500000), so putting this into an u16 can cause overflows. This changes the functions to use an int to store / get RPM instead. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (f71882fg) Printout fan modesHans de Goede2009-01-071-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Print the mode (duty-cycle or RPM) of each fan on driver load. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (f71882fg) Add documentationHans de Goede2009-01-071-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add some documentation about the f71882fg driver, and update the Kconfig documentation to report the new supported models. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (f71882fg) Fix auto_channels_temp temp numbering with f8000Hans de Goede2009-01-071-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adjust auto_channels_temp show and store functions for different numbering of temps between f8000 and other supported models. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (f71882fg) Add missing pwm3 attr for f71862fgHans de Goede2009-01-071-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some reason the fan_attr array for the f71862fg was missing the attr for the 3th pwm output. This patch fixes this. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (f71882fg) Add F8000 supportHans de Goede2009-01-071-62/+291
| | | | | | | | | | | | | | | | | | | | | | | | | | | | And (finally) the patch actually adding f8000 support. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (f71882fg) Remove the fan_mode module optionHans de Goede2009-01-071-25/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the fan_mode module option it was a monstrosity to begin with, and when adding support for the F8000 it becomes a real pain! Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (f71882fg) Separate max and crit alarm and beepHans de Goede2009-01-071-9/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While studying the datasheets for adding F8000 support, I noticed that the F718x2 has separate alarms (and beep control) for its max and crit limits. We keep the temp#_alarm attributes as they are, even though it would be more logical to rename them to temp#_max_alarm. Because lm_sensors v2 depends on them. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (f71882fg) Check for hwmon powerdown stateHans de Goede2009-01-071-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | More F8000 prep work. Take over the checking if the hwmon part is not powered down from the standalone f8000 driver. This check is valid for all supported models. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (f71882fg) Cleanup fan and temp hyst functionsHans de Goede2009-01-071-78/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplify fan and temp hyst. handling by treating the registers as an array of nibbles instead of using switch cases. Also unify the way hysts are handled between temp and fans, the temp code was storing the actual per temp hyst values in 4 u8's, where as the fan code was storing actual register values. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (f71882fg) Fix various sysfs callback function issuesHans de Goede2009-01-071-49/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While working on adding F8000 support I noticed that various of the store sysfs functions (and a few of the show also) had issues. This patch fixes the following issues in these functions: * store: storing the result of strto[u]l in an int, resulting in a possible overflow before boundary checking * store: use of f71882fg_update_device(), we don't want to read the whole device in store functions, just the registers we need * store: use of cached register values instead of reading the needed regs in the store function, including cases where f71882fg_update_device() was not used, this could cause real isues * show: shown value is a calculation of 2 or more cached register reads, without locking the data struct. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (f71882fg) Prepare for adding F8000 supportHans de Goede2009-01-071-57/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is a preparation patch for adding F8000 support to the f71882fg driver. If you look at the register addresses and esp, the bits used for the temperature channels, then you will notice that it appears that they start at 1 in a system meant to start at 0. As the F8000 actually uses the 0 addresses and bits, this patch changes the f71882fg driver to take 4 temperatures numbered 0-3 in to account, using 1-3 in this new scheme for the temperatures actually present in the F718x2FG. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | hwmon: (f71882fg) Move some io access from the detect to the probe functionHans de Goede2009-01-071-23/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The f71882fg driver did some io to ioports it hadn't reserved yet in its find (detect) function, this patches moves this io to the probe function where these ports are reserved and this io belongs. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>