aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-05-27VFS: fix recent breakage of FS_REVAL_DOTNeil Brown1-1/+1
Commit 1f36f774b22a0ceb7dd33eca626746c81a97b6a5 broke FS_REVAL_DOT semantics. In particular, before this patch, the command ls -l in an NFS mounted directory would always check if the directory on the server had changed and if so would flush and refill the pagecache for the dir. After this patch, the same "ls -l" will repeatedly return stale date until the cached attributes for the directory time out. The following patch fixes this by ensuring the d_revalidate is called by do_last when "." is being looked-up. link_path_walk has already called d_revalidate, but in that case LOOKUP_OPEN is not set so nfs_lookup_verify_inode chooses not to do any validation. The following patch restores the original behaviour. Cc: [email protected] Signed-off-by: NeilBrown <[email protected]> Signed-off-by: Al Viro <[email protected]>
2010-05-27Revert "anon_inode: set S_IFREG on the anon_inode"Al Viro1-1/+1
This reverts commit a7cf4145bb86aaf85d4d4d29a69b50b688e2e49d.
2010-05-27Merge branch 'upstream-linus' of ↵Linus Torvalds62-519/+720
git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: implement dump_id force param libata: disable ATAPI AN by default libata-sff: make BMDMA optional libata-sff: kill dummy BMDMA ops from sata_qstor and pata_octeon_cf libata-sff: separate out BMDMA init libata-sff: separate out BMDMA irq handler libata-sff: ata_sff_irq_clear() is BMDMA specific sata_mv: drop unncessary EH callback resetting
2010-05-27acpi_pad: uses MONITOR/MWAIT, so it doesn't need to clear TS_POLLINGLen Brown1-9/+0
api_pad exclusively uses MONITOR/MWAIT to sleep in idle, so it does not need the wakeup IPI during idle sleep that is provoked by clearing TS_POLLING. Signed-off-by: Len Brown <[email protected]> Cc: Shaohua Li <[email protected]>
2010-05-27sched: clarify commment for TS_POLLINGLen Brown1-2/+2
TS_POLLING set tells the scheduler an idle_task will poll need_resched() to look for work. TS_POLLING clear tells resched_task() and wake_up_idle_cpu() that the remote CPU's idle_task is now sleeping in idle, and thus requires a reschedule interrupt notice work. Update the description of TS_POLLING to reflect how it works. "idle task polling need_resched, skip sending interrupt" Wordsmithing-by: Milton Miller <[email protected]> Signed-off-by: Len Brown <[email protected]> Acked-by: Peter Zijlstra <[email protected]>
2010-05-27ACPI: allow a native cpuidle driver to displace ACPILen Brown1-5/+6
The ACPI driver would fail probe when it found that another driver had previously registered with cpuidle. But this is a natural situation, as a native hardware cpuidle driver should be able to bind instead of ACPI, and the ACPI processor driver should be able to handle yielding control of C-states while still handling P-states and T-states. Add a KERN_DEBUG line showing when acpi_idle does successfully register. Signed-off-by: Len Brown <[email protected]>
2010-05-27cpuidle: make cpuidle_curr_driver staticLen Brown5-9/+22
cpuidle_register_driver() sets cpuidle_curr_driver cpuidle_unregister_driver() clears cpuidle_curr_driver We should't expose cpuidle_curr_driver to potential modification except via these interfaces. So make it static and create cpuidle_get_driver() to observe it. Signed-off-by: Len Brown <[email protected]>
2010-05-27Merge branch 'release' of ↵Linus Torvalds2-0/+21
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Fix build breakage
2010-05-28mfd: Rename twl5031 sih modulesIlkka Koskinen1-5/+6
Fix the names of twl5031 specific sih modules to match the documentation. Signed-off-by: Ilkka Koskinen <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Storage class for timberdale should be before const qualifierTobias Klauser1-10/+10
The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Remove unneeded and dangerous clearing of clientdataWolfram Sang2-3/+0
Unlike real i2c-devices which get detached from the driver, dummy-devices get truly unregistered. So, there has never been a need to clear the clientdata because the device will go away anyhow. For the occasions fixed here, clearing clientdata was even dangerous as the structure was freed already. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Jean Delvare <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: New AB8500 driverRabin Vincent8-477/+712
Add a new driver to support the AB8500 Power Management chip, replacing the current AB4500. The new driver replaces the old one, instead of an incremental modification, because this is a substantial overhaul including: - Split of the driver into -core and -spi portions, to allow another interface layer to be added - Addition of interrupt support - Switch to MFD core API for handling subdevices - Simplification of the APIs to remove a redundant block parameter - Rename of the APIs and macros from ab4500_* to ab8500_* - Rename of the files from ab4500* to ab8500* - Change of the driver name from ab4500 to ab8500 Acked-by: Linus Walleij <[email protected]> Acked-by: Srinidhi Kasagar <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28gpio: Fix inverted rdc321x gpio data out registersFlorian Fainelli1-1/+1
rdc_gpio_set_value_impl has the gpio data registers 1 and 2 inverted, fix this. Signed-off-by: Bernhard Loos <[email protected]> Signed-off-by: Florian Fainelli <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Change rdc321x resources flags to IORESOURCE_IOFlorian Fainelli3-6/+6
The rdc321x southbridge PCI device has no MEM PCI resources that we could pass to mfd_add_devices. Since 33254dd5, mfd_add_device checks for the mem_base argument that we set to NULL. Changing the resources passed to our MFD cells from IORESOURCE_MEM to IORESOURCE_IO fixes that. Since we use those resources as offsets to the PCI configuration space base address of the southbridge device this is also more adequate. Signed-off-by: Florian Fainelli <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Move pcf50633 irq related functions to its own file.Lars-Peter Clausen3-294/+330
This reduces code clutter a bit and will ease an migration to genirq. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Use threaded irq for pcf50633Lars-Peter Clausen2-49/+10
Use threaded oneshot irq handler instead of normal irq handler and a workqueue. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: pcf50633-adc: Fix potential race in pcf50633_adc_sync_readLars-Peter Clausen1-24/+15
Currently it's not guaranteed that request struct is not already freed when reading from it. Fix this by moving synced request related fields from the pcf50633_adc_request struct to its own struct and store it on the functions stack. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Fix pcf50633 bitfield logic in interrupt handlerLars-Peter Clausen1-4/+4
Those constants are alreay bitfields. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28gpio: rdc321x needs to select MFD_CORERandy Dunlap1-0/+1
Fix rdc321x-southbridge build: GPIO_RDC321X needs to select MFD_CORE so that the core is built at the same (or higher) tristate level. rdc321x-southbridge.c:(.devinit.text+0x6103): undefined reference to `mfd_add_devices' rdc321x-southbridge.c:(.devexit.text+0xe5f): undefined reference to `mfd_remove_devices' Signed-off-by: Randy Dunlap <[email protected]> Cc: Florian Fainelli <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Use menuconfig for quicker config editingRandy Dunlap1-2/+8
Change MFD 'menu' to 'menuconfig' to facilitate easy (one-click) disabling of all MFD drivers. Signed-off-by: Randy Dunlap <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28ARM: AB3550 board configuration and irq for U300Mattias Wallin2-0/+62
This patch adds the i2c board configuration needed for the Mixed Signal chip AB3550. It also adds the irq numbers needed for the irq_chip implementation. Signed-off-by: Mattias Wallin <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: AB3550 core driverMattias Wallin3-0/+1416
This adds a core driver for the AB3550 mixed-signal circuit found in the ST-Ericsson U300 platforms. This driver is a singleton proxy for all access to the AB3550 sub functionality drivers which can be added on top of this one: RTC, regulators, battery and system power control, vibrator, LEDs and an ALSA codec. Signed-off-by: Mattias Wallin <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: AB3100 register access change to abx500 APIMattias Wallin8-92/+390
The interface for the AB3100 is changed to make way for the ABX500 family of chips: AB3550, AB5500 and future ST-Ericsson Analog Baseband chips. The register access functions are moved out to a separate struct abx500_ops. In this way the interface is moved from the implementation and the sub functionality drivers can keep their interface intact when chip infrastructure and communication mechanisms changes. We also define the AB3550 device IDs and the AB3550 platform data struct and convert the catenated 32bit event to an array of 3 x 8bits. Signed-off-by: Mattias Wallin <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Renamed ab3100.h to abx500.hLinus Walleij6-5/+5
The goal here is to make way for a more general interface for the analog baseband chips ab3100 ab3550 ab550 and future chips. This patch have been divided into two parts since both changing name and content of a file is not recommended in git. Signed-off-by: Mattias Wallin <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28gpio: Add TC35892 GPIO driverRabin Vincent3-0/+389
Add a GPIO driver to support the GPIOs on the TC35892 I/O Expander. Acked-by: Linus Walleij <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Add Toshiba's TC35892 MFD coreRabin Vincent4-0/+491
The TC35892 I/O Expander provides 24 GPIOs, a keypad controller, timers, and a rotator wheel interface. This patch adds the MFD core. Acked-by: Linus Walleij <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Delay to mask tsc irq in max8925Haojian Zhuang1-2/+5
There're two IRQ pins output from MAX8925. One is PMIC interrupt, the other is TSC interrupt. But they're sharing one irq chip. After initializing MAX8925 interrupts, unexpected TSC interrupt may occur and it can't be cleared if touch driver isn't loaded. Now move the operation of masking TSC interrupt behind requesting PMIC interrupt. If touch driver isn't loaded, this interrupt is always masked. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Remove incorrect wm8350 kfreeRabin Vincent1-3/+1
The i2c_client received in probe() should not be kfree()'d. Signed-off-by: Rabin Vincent <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Fix error in wm8400 reg cache access checkPhil Carmody1-2/+2
Accessing num_reg elements in the interval [reg .. reg+num_regs) is permitted if (reg+numregs <= array size), so barf when that excluded upper bound is > array size. The prior -1 would give access to one too many elements. Signed-off-by: Phil Carmody <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28davinci: da850 TPS6507x touch screen driver board dataTodd Fischer1-0/+12
The touch screen controller in the TPS6507x chip needs values that are dependent on the characteristics of the touch screen hardware being used in the board design. In addition, the board provides version information that is exposed via the kernel input sub-system. Signed-off-by: Todd Fischer <[email protected]> Signed-off-by: Kevin Hilman <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Ensure WM831x charger interrupts are acknowledged when suspendingMark Brown2-2/+50
The charger interrupts on the WM831x are unconditionally a wake source for the system. If the power driver is not able to monitor them (for example, due to the IRQ line not having been wired up on the system) then any charger interrupt will prevent the system suspending for any meaningful amount of time since nothing will ack them. Avoid this issue by manually acknowledging these interrupts when we suspend the WM831x core device if they are masked. If software is actually using the interrupts then they will be unmasked and this change will have no effect. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Initialise WM831x IRQ masks on chip even if interrupts not in useMark Brown1-8/+8
Ensure that the hardware has interrupts masked if we are not using the interrupt controller on the WM831x by initialising the masks before we check for the setup data required for the IRQ line. This avoids signalling an unused IRQ line and improves the robustness of checks that the IRQ is in use. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28input: Touchscreen driver for TPS6507xTodd Fischer6-0/+443
Add touch screen input driver for TPS6507x family of multi-function chips. Uses the TPS6507x MFD driver. No interrupt support due to testing limitations of current hardware. Signed-off-by: Todd Fischer <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Add TPS6507x supportTodd Fischer5-79/+265
TPS6507x are multi function (PM, touchscreen) chipsets from TI. This commit also changes the corresponding regulator driver from being standalone to an MFD subdevice. Signed-off-by: Todd Fischer <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28regulator: tps6057x namespace cleanupTodd Fischer1-85/+87
Move from using tps or tsp6507x to tps6057x_pmic in a consistent manner. Signed-off-by: Todd Fischer <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Add tps6507x board data structureTodd Fischer3-3/+29
Add mfd structure which refrences sub-driver initialization data. For example, for a giving hardware implementation, the voltage regulator sub-driver initialization data provides the mapping betten a voltage regulator and what the output voltage is being used for. Signed-off-by: Todd Fischer <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Move TPS6507x register definition to header file.Todd Fischer2-59/+135
Other sub-drivers for the TPS6507x chip will need to use register definition so move it out of the source file and into a header file. Signed-off-by: Todd Fischer <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28gpio: Update gfp/slab.h includes for rdc321xTejun Heo1-0/+1
Implicit slab.h inclusion via percpu.h is about to go away. Make sure gfp.h or slab.h is included as necessary. Signed-off-by: Samuel Ortiz <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
2010-05-28mfd: Improve WM831x AUXADC completion handlingMark Brown1-17/+48
Currently completion of WM831x AUXADC conversions is monitored by checking for convertor enable. Due to the mechanism used to ensure data corruption is avoided when reading AUXADC data there may under heavy I/O be a window where this bit has cleared but the conversion results have not been updated. Data availability is only guaranteed after the AUXADC data interrupt has been asserted. Avoid this by always using the interrupt to detect completion. If the chip IRQ is not set up then we poll the IRQ status register for up to 5ms. If it is set up then we rely on the data done interrupt with a vastly increased timeout, failing the conversion if the interrupt is not generated. This also saves a register read when using interrupts. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28gpio: Add support for Janz VMOD-TTL Digital IO moduleIra W. Snyder3-0/+269
The Janz VMOD-TTL is a MODULbus daughterboard which fits onto any MODULbus carrier board. It essentially consists of some various logic and a Zilog Z8536 CIO Counter/Timer and Parallel IO Unit. The board must be physically configured with jumpers to enable a user to drive output signals. I am only interested in outputs, so I have made this driver as simple as possible. It only supports a very minimal subset of the features provided by the Z8536 chip. Signed-off-by: Ira W. Snyder <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28can: Add support for Janz VMOD-ICAN3 Intelligent CAN moduleIra W. Snyder3-0/+1841
The Janz VMOD-ICAN3 is a MODULbus daughterboard which fits onto any MODULbus carrier board. It is an intelligent CAN controller with a microcontroller and associated firmware. Signed-off-by: Ira W. Snyder <[email protected]> Acked-by: Wolfgang Grandegger <[email protected]> Acked-by: David S. Miller <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Janz CMOD-IO PCI MODULbus Carrier Board supportIra W. Snyder4-0/+369
The Janz CMOD-IO PCI MODULbus carrier board is a PCI to MODULbus bridge, which may host many different types of MODULbus daughterboards, including CAN and GPIO controllers. Signed-off-by: Ira W. Snyder <[email protected]> Reviewed-by: Wolfgang Grandegger <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Proper pcf50633 irq checkDan Carpenter1-2/+2
"pcf->irq_handler" has PCF50633_NUM_IRQ elements. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Remove unused wm831x IRQ handler dataMark Brown1-2/+0
This was used by the old, pre-genirq IRQ implementation but is no longer required. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Add timb-dma to all configurations of timberdaleRichard Röjfors2-15/+96
Add platform data for timb-dma, and add it in to timb-dma in all configurations of timberdale. Also incremented the version number. Signed-off-by: Richard Röjfors <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Section cleanup of 88pm860x driverHenrik Kretzschmar2-5/+5
This patch fixes three section mismatches. WARNING: drivers/mfd/88pm860x.o(.text+0x12): Section mismatch in reference from the function pm860x_device_exit() to the function .devexit.text:device_irq_exit() The function pm860x_device_exit() references a function in an exit section. Often the function device_irq_exit() has valid usage outside the exit section and the fix is to remove the __devexit annotation of device_irq_exit. WARNING: drivers/mfd/88pm860x.o(.text+0xb0): Section mismatch in reference from the function pm860x_device_init() to the function .devinit.text:device_8606_init() The function pm860x_device_init() references the function __devinit device_8606_init(). This is often because pm860x_device_init lacks a __devinit annotation or the annotation of device_8606_init is wrong. WARNING: drivers/mfd/88pm860x.o(.text+0xbe): Section mismatch in reference from the function pm860x_device_init() to the function .devinit.text:device_8607_init() The function pm860x_device_init() references the function __devinit device_8607_init(). This is often because pm860x_device_init lacks a __devinit annotation or the annotation of device_8607_init is wrong. Signed-off-by: Henrik Kretzschmar <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Check for mem_base when building IORESOURCE_MEM resourcesSamuel Ortiz1-1/+1
If mem_base is NULL, then we fall back to the default case, just copying the original resource. Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Off by one calculating size for timberdaleDan Carpenter1-1/+1
I'm pretty sure that it should be + 1 here. It's an off by one, because we start counting at zero. Signed-off-by: Dan Carpenter <[email protected]> Acked-by: Richard Röjfors <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28x86: remove rdc321x_defs.hFlorian Fainelli1-12/+0
This file is replaced by a cleaner version with the adding of a MFD driver for the southbridge. Signed-off-by: Florian Fainelli <[email protected]> Acked-by: Ingo Molnar <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28watchdog: Convert rdc321x_wdt to use southbridge pci deviceFlorian Fainelli1-13/+40
The RDC321x MFD southbridge driver will pass a reference to the southbridge PCI device which should be used by the watchdog driver for its operations. This patch converts the watchdog driver to use the pci_dev pointer and make use of the base register resource which is passed along with the platform device. Signed-off-by: Florian Fainelli <[email protected]> Acked-by: Wim Van Sebroeck <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>