Age | Commit message (Collapse) | Author | Files | Lines |
|
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]>
|
|
This reverts commit a7cf4145bb86aaf85d4d4d29a69b50b688e2e49d.
|
|
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
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
Those constants are alreay bitfields.
Signed-off-by: Lars-Peter Clausen <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
"pcf->irq_handler" has PCF50633_NUM_IRQ elements.
Signed-off-by: Dan Carpenter <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|