10 Oct, 2012
1 commit
-
Pull pwm changes from Thierry Reding:
"All legacy PWM providers have now been moved to the PWM subsystem.
The plan for 3.8 is to adapt all board files to provide a lookup table
for PWM devices in order to get rid of the global namespace.
Subsequently, users of the legacy pwm_request() and pwm_free()
functions can be migrated to the new pwm_get() and pwm_put()
functions. Once this has been completed, the legacy API and the
compatibility code in the core can be removed.In addition to the above, these changes also add support for
configuring the polarity of a PWM signal (currently only supported on
ECAP and EHRPWM) and include a much needed rework of the i.MX driver.
Managed functions to obtain and release a PWM device (devm_pwm_get()
and devm_pwm_put()) have been added and the pwm-backlight driver has
been updated to use them. If the PWM subsystem hasn't been enabled,
dummy functions are provided that allow the subsystem to safely
compile out.Some common checks on input parameters have been moved to the core and
removed from the drivers. Finally, a small fix corrects the
description of the PWM specifier's second cell in the device tree
representation."* tag 'for-3.7-rc1' of git://gitorious.org/linux-pwm/linux-pwm: (23 commits)
pwm: dt: Fix description of second PWM cell
pwm: Check for negative duty-cycle and period
pwm: Add Ingenic JZ4740 support
MIPS: JZ4740: Export timer API
pwm: Move PUV3 PWM driver to PWM framework
unicore32: pwm: Use managed resource allocations
unicore32: pwm: Remove unnecessary indirection
unicore32: pwm: Use module_platform_driver()
unicore32: pwm: Properly remap memory-mapped registers
pwm-backlight: Use devm_pwm_get() instead of pwm_get()
pwm: Move AB8500 PWM driver to PWM framework
pwm: Fix compilation error when CONFIG_PWM is not defined
pwm: i.MX: fix clock lookup
pwm: i.MX: use per clock unconditionally
pwm: i.MX: add devicetree support
pwm: i.MX: Use module_platform_driver
pwm: i.MX: add functions to enable/disable pwm.
pwm: i.MX: remove unnecessary if in pwm_[en|dis]able
pwm: i.MX: factor out SoC specific functions
pwm: pwm-tiehrpwm: Add support for configuring polarity of PWM
...
09 Oct, 2012
1 commit
-
A long time ago, in v2.4, VM_RESERVED kept swapout process off VMA,
currently it lost original meaning but still has some effects:| effect | alternative flags
-+------------------------+---------------------------------------------
1| account as reserved_vm | VM_IO
2| skip in core dump | VM_IO, VM_DONTDUMP
3| do not merge or expand | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
4| do not mlock | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAPThis patch removes reserved_vm counter from mm_struct. Seems like nobody
cares about it, it does not exported into userspace directly, it only
reduces total_vm showed in proc.Thus VM_RESERVED can be replaced with VM_IO or pair VM_DONTEXPAND | VM_DONTDUMP.
remap_pfn_range() and io_remap_pfn_range() set VM_IO|VM_DONTEXPAND|VM_DONTDUMP.
remap_vmalloc_range() set VM_DONTEXPAND | VM_DONTDUMP.[akpm@linux-foundation.org: drivers/vfio/pci/vfio_pci.c fixup]
Signed-off-by: Konstantin Khlebnikov
Cc: Alexander Viro
Cc: Carsten Otte
Cc: Chris Metcalf
Cc: Cyrill Gorcunov
Cc: Eric Paris
Cc: H. Peter Anvin
Cc: Hugh Dickins
Cc: Ingo Molnar
Cc: James Morris
Cc: Jason Baron
Cc: Kentaro Takeda
Cc: Matt Helsley
Cc: Nick Piggin
Cc: Oleg Nesterov
Cc: Peter Zijlstra
Cc: Robert Richter
Cc: Suresh Siddha
Cc: Tetsuo Handa
Cc: Venkatesh Pallipadi
Acked-by: Linus Torvalds
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
03 Oct, 2012
1 commit
-
Pull workqueue changes from Tejun Heo:
"This is workqueue updates for v3.7-rc1. A lot of activities this
round including considerable API and behavior cleanups.* delayed_work combines a timer and a work item. The handling of the
timer part has always been a bit clunky leading to confusing
cancelation API with weird corner-case behaviors. delayed_work is
updated to use new IRQ safe timer and cancelation now works as
expected.* Another deficiency of delayed_work was lack of the counterpart of
mod_timer() which led to cancel+queue combinations or open-coded
timer+work usages. mod_delayed_work[_on]() are added.These two delayed_work changes make delayed_work provide interface
and behave like timer which is executed with process context.* A work item could be executed concurrently on multiple CPUs, which
is rather unintuitive and made flush_work() behavior confusing and
half-broken under certain circumstances. This problem doesn't
exist for non-reentrant workqueues. While non-reentrancy check
isn't free, the overhead is incurred only when a work item bounces
across different CPUs and even in simulated pathological scenario
the overhead isn't too high.All workqueues are made non-reentrant. This removes the
distinction between flush_[delayed_]work() and
flush_[delayed_]_work_sync(). The former is now as strong as the
latter and the specified work item is guaranteed to have finished
execution of any previous queueing on return.* In addition to the various bug fixes, Lai redid and simplified CPU
hotplug handling significantly.* Joonsoo introduced system_highpri_wq and used it during CPU
hotplug.There are two merge commits - one to pull in IRQ safe timer from
tip/timers/core and the other to pull in CPU hotplug fixes from
wq/for-3.6-fixes as Lai's hotplug restructuring depended on them."Fixed a number of trivial conflicts, but the more interesting conflicts
were silent ones where the deprecated interfaces had been used by new
code in the merge window, and thus didn't cause any real data conflicts.Tejun pointed out a few of them, I fixed a couple more.
* 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (46 commits)
workqueue: remove spurious WARN_ON_ONCE(in_irq()) from try_to_grab_pending()
workqueue: use cwq_set_max_active() helper for workqueue_set_max_active()
workqueue: introduce cwq_set_max_active() helper for thaw_workqueues()
workqueue: remove @delayed from cwq_dec_nr_in_flight()
workqueue: fix possible stall on try_to_grab_pending() of a delayed work item
workqueue: use hotcpu_notifier() for workqueue_cpu_down_callback()
workqueue: use __cpuinit instead of __devinit for cpu callbacks
workqueue: rename manager_mutex to assoc_mutex
workqueue: WORKER_REBIND is no longer necessary for idle rebinding
workqueue: WORKER_REBIND is no longer necessary for busy rebinding
workqueue: reimplement idle worker rebinding
workqueue: deprecate __cancel_delayed_work()
workqueue: reimplement cancel_delayed_work() using try_to_grab_pending()
workqueue: use mod_delayed_work() instead of __cancel + queue
workqueue: use irqsafe timer for delayed_work
workqueue: clean up delayed_work initializers and add missing one
workqueue: make deferrable delayed_work initializer names consistent
workqueue: cosmetic whitespace updates for macro definitions
workqueue: deprecate system_nrt[_freezable]_wq
workqueue: deprecate flush[_delayed]_work_sync()
...
02 Oct, 2012
1 commit
-
Pull TTY changes from Greg Kroah-Hartman:
"As we skipped the merge window for 3.6-rc1 for the tty tree,
everything is now settled down and working properly, so we are ready
for 3.7-rc1. Here's the patchset, it's big, but the large changes are
removing a firmware file and adding a staging tty driver (it depended
on the tty core changes, so it's going through this tree instead of
the staging tree.)All of these patches have been in the linux-next tree for a while.
Signed-off-by: Greg Kroah-Hartman "
Fix up more-or-less trivial conflicts in
- drivers/char/pcmcia/synclink_cs.c:
tty NULL dereference fix vs tty_port_cts_enabled() helper function
- drivers/staging/{Kconfig,Makefile}:
add-add conflict (dgrp driver added close to other staging drivers)
- drivers/staging/ipack/devices/ipoctal.c:
"split ipoctal_channel from iopctal" vs "TTY: use tty_port_register_device"* tag 'tty-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (235 commits)
tty/serial: Add kgdb_nmi driver
tty/serial/amba-pl011: Quiesce interrupts in poll_get_char
tty/serial/amba-pl011: Implement poll_init callback
tty/serial/core: Introduce poll_init callback
kdb: Turn KGDB_KDB=n stubs into static inlines
kdb: Implement disable_nmi command
kernel/debug: Mask KGDB NMI upon entry
serial: pl011: handle corruption at high clock speeds
serial: sccnxp: Make 'default' choice in switch last
serial: sccnxp: Remove mask termios caps for SW flow control
serial: sccnxp: Report actual baudrate back to core
serial: samsung: Add poll_get_char & poll_put_char
Powerpc 8xx CPM_UART setting MAXIDL register proportionaly to baud rate
Powerpc 8xx CPM_UART maxidl should not depend on fifo size
Powerpc 8xx CPM_UART too many interrupts
Powerpc 8xx CPM_UART desynchronisation
serial: set correct baud_base for EXSYS EX-41092 Dual 16950
serial: omap: fix the reciever line error case
8250: blacklist Winbond CIR port
8250_pnp: do pnp probe before legacy probe
...
27 Sep, 2012
7 commits
-
Add lis3lv02d device tree initialization code/API to take pdata from
device node. Also adds device tree init matching table support to
lis3lv02d_i2c driver. If the driver data is passed from device tree, then
this driver picks up platform data from device node through common/generic
lis3lv02d.c driver.[akpm@linux-foundation.org: fix CONFIG_OF=n build]
Signed-off-by: AnilKumar Ch
Cc: Eric Piel
Reviewed-by: Arnd Bergmann
Cc: Mark Brown
Cc: Tony Lindgren
Signed-off-by: Andrew Morton
Signed-off-by: Greg Kroah-Hartman -
Add lis3lv02d device tree initialization code/API to take pdata from
device node. Also remove CONFIG_OF ifdef from the driver, if CONFIG_OF is
not defined then OF APIs returns 0.[akpm@linux-foundation.org: fix CONFIG_OF=n build[
Signed-off-by: AnilKumar Ch
Cc: Eric Piel
Reviewed-by: Arnd Bergmann
Cc: Mark Brown
Cc: Tony Lindgren
Signed-off-by: Andrew Morton
Signed-off-by: Greg Kroah-Hartman -
Remove lis3lv02d driver device tree initialization from core driver and
move it to individual drivers. With the current implementation some pdata
parameters are missing if we use lis3lv02d_init_device() in lis3lv02d_i2c
driver.Signed-off-by: AnilKumar Ch
Cc: Eric Piel
Reviewed-by: Arnd Bergmann
Cc: Mark Brown
Cc: Tony Lindgren
Signed-off-by: Andrew Morton
Signed-off-by: Greg Kroah-Hartman -
If probed from a device tree, this driver now passes the node information
to the generic part, so the runtime information can be derived.Successfully tested on a PXA3xx board.
[akpm@linux-foundation.org: fix lis302dl_spi_dt_ids unused warning when CONFIG_OF=n]
Signed-off-by: Daniel Mack
Cc: Rob Herring
Cc: "AnilKumar, Chimata"
Reviewed-by: Éric Piel
Signed-off-by: Andrew Morton
Signed-off-by: Greg Kroah-Hartman -
Adds logic to parse lis3 properties from a device tree node and store them
in a freshly allocated lis3lv02d_platform_data.Note that the actual match tables are left out here. This part should
happen in the drivers that bind to the individual busses (SPI/I2C/PCI).Also adds some DT bindinds documentation.
Signed-off-by: Daniel Mack
Cc: Rob Herring
Cc: "AnilKumar, Chimata"
Reviewed-by: Éric Piel
Signed-off-by: Andrew Morton
Signed-off-by: Greg Kroah-Hartman -
Fix some minor problems in comments of lis331dlh driver
* correct comments with respect to 2G sensitivity
* correct typo lis3331dlh mistake to lis331dlh
* add comment to say only 2G range is supported
* change the function name from lis3lv02d_read_16 to
lis331dlh_read_data.
* update i2c_device_id table entry to maintaine consistancy
* update sensor display messageSigned-off-by: AnilKumar Ch
Signed-off-by: Greg Kroah-Hartman -
pci_disable_device(pdev) used to be in pci remove function. But this
PCI device has two functions with interrupt lines connected to a
single pin. The other one is a USB host controller. So when we disable
the PIN there e.g. by rmmod hpilo, the controller stops working. It is
because the interrupt link is disabled in ACPI since it is not
refcounted yet. See acpi_pci_link_free_irq called from
acpi_pci_irq_disable.It is not the best solution whatsoever, but as a workaround until the
ACPI irq link refcounting is sorted out this should fix the reported
errors.References: https://lkml.org/lkml/2008/11/4/535
Signed-off-by: Jiri Slaby
Cc: Grant Grundler
Cc: Nobin Mathew
Cc: Robert Hancock
Cc: Arnd Bergmann
Cc: David Altobelli
Signed-off-by: Greg Kroah-Hartman
20 Sep, 2012
1 commit
-
This commit moves the driver to drivers/pwm and converts it to the new
PWM framework.Signed-off-by: Thierry Reding
Acked-by: Linus Walleij
Acked-by: Arnd Bergmann
Acked-by: Arun Murthy
18 Sep, 2012
1 commit
-
As discussed at the kernel summit this year, CONFIG_EXPERIMENTAL means
nothing, so let's get rid of it.Cc: Kees Cook
Cc: Arnd Bergmann
Cc: Tomas Winkler
Cc: Jiri Kosina
Cc: Paul Bolle
Cc: Andrew Morton
Cc: Anatolij Gustschin
Signed-off-by: Greg Kroah-Hartman
11 Sep, 2012
3 commits
-
non readable junk was printed to the logs
we will add proper buffer dumping mechanism later if neededSigned-off-by: Tomas Winkler
Signed-off-by: Greg Kroah-Hartman -
Signed-off-by: Tomas Winkler
Signed-off-by: Greg Kroah-Hartman -
Signed-off-by: Tomas Winkler
Signed-off-by: Greg Kroah-Hartman
06 Sep, 2012
7 commits
-
The _init and _exit functions can be replaced with the module_spi_driver
macro, which actually implementsstatic int __init drv_init(void)
{
spi_register_driver(&driv_op);
return 0;
}module_init(drv_init);
static void __exit drv_exit(void)
{
spi_unregister_driver(&driv_op);
}module_exit(drv_exit);
Signed-off-by: Devendra Naga
Acked-by: Arnd Bergmann
Signed-off-by: Greg Kroah-Hartman -
tifm_7xx1_init and tifm_7xx1_exit with module_init and module_exit calls
can be replaced with the module_pci_driver call, as they are similar
to what module_pci_driver doesSigned-off-by: Devendra Naga
Signed-off-by: Greg Kroah-Hartman -
Commit 002176db (misc: at25: Parse dt settings) added device tree
bindings the differ significantly in style from the I2C EEPROM
bindings and don't seem well vetted. Here I deprecate (but still
support) the "at25,*" properties, and add what I hope is a better
alternative. These new bindings also happen to be deployed in the
field and were previously submitted for consideration here:https://lists.ozlabs.org/pipermail/devicetree-discuss/2012-May/015556.html
The advantages of the new bindings are that they are similar to the
I2C EEPROMs and they don't conflate read-only and the address width
modes in a binary encoded blob.Signed-off-by: David Daney
Cc: Alexandre Pereira da Silva
Cc: Greg Kroah-Hartman
Cc: Michael Hennerich
Cc: Axel Lin
Signed-off-by: Greg Kroah-Hartman -
Signed-off-by: Tomas Winkler
Signed-off-by: Greg Kroah-Hartman -
There was internal confusion in wether bus message
clinet (0) is counted in or notThe bitmap me_clients_map that accomodate
was initialized w/o it (255) but later on it
the clinet 0 was reservedThus were able to open only 252 instead of 253 clients
Signed-off-by: Tomas Winkler
Signed-off-by: Greg Kroah-Hartman -
1. rename mei_device variable to mei_pdev to remove
confusion with type 'struct mei_device'
2. mei_pdev no longer need to be gloabal so make it static
and remove the declaration from the header fileSigned-off-by: Tomas Winkler
Signed-off-by: Greg Kroah-Hartman -
This patch adds support for lis331dlh digital accelerometer to the
lis3lv02d driver family. Adds ID field for detecting the lis331dlh
module, based on this ID field lis3lv02d driver will export the
lis331dlh module functionality.Signed-off-by: AnilKumar Ch
Acked-by: Arnd Bergmann
Signed-off-by: Greg Kroah-Hartman
28 Aug, 2012
1 commit
-
This resolves a conflict in:
drivers/misc/mei/interrupt.cSigned-off-by: Greg Kroah-Hartman
27 Aug, 2012
1 commit
-
This picks up all of the different fixes in Linus's tree that we also need here.
Signed-off-by: Greg Kroah-Hartman
22 Aug, 2012
1 commit
-
On many of our larger systems, CPU 0 has had all of its IRQ resources
consumed before XPC loads. Worst cases on machines with multiple 10
GigE cards and multiple IB cards have depleted the entire first socket
of IRQs.This patch makes selecting the node upon which IRQs are allocated (as
well as all the other GRU Message Queue structures) specifiable as a
module load param and has a default behavior of searching all nodes/cpus
for an available resources.[akpm@linux-foundation.org: fix build: include cpu.h and module.h]
Signed-off-by: Robin Holt
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
21 Aug, 2012
1 commit
-
flush[_delayed]_work_sync() are now spurious. Mark them deprecated
and convert all users to flush[_delayed]_work().If you're cc'd and wondering what's going on: Now all workqueues are
non-reentrant and the regular flushes guarantee that the work item is
not pending or running on any CPU on return, so there's no reason to
use the sync flushes at all and they're going away.This patch doesn't make any functional difference.
Signed-off-by: Tejun Heo
Cc: Russell King
Cc: Paul Mundt
Cc: Ian Campbell
Cc: Jens Axboe
Cc: Mattia Dongili
Cc: Kent Yoder
Cc: David Airlie
Cc: Jiri Kosina
Cc: Karsten Keil
Cc: Bryan Wu
Cc: Benjamin Herrenschmidt
Cc: Alasdair Kergon
Cc: Mauro Carvalho Chehab
Cc: Florian Tobias Schandinat
Cc: David Woodhouse
Cc: "David S. Miller"
Cc: linux-wireless@vger.kernel.org
Cc: Anton Vorontsov
Cc: Sangbeom Kim
Cc: "James E.J. Bottomley"
Cc: Greg Kroah-Hartman
Cc: Eric Van Hensbergen
Cc: Takashi Iwai
Cc: Steven Whitehouse
Cc: Petr Vandrovec
Cc: Mark Fasheh
Cc: Christoph Hellwig
Cc: Avi Kivity
17 Aug, 2012
13 commits
-
ll_device_want_to_wakeup(): Fix the NULL pointer check on pdata->chip_awake,
which is performed on the wrong function pointerSigned-off-by: Matthias Kaehlcke
Signed-off-by: Greg Kroah-Hartman -
The main purpose of this function is to exclude ME devices
without support for MEI/HECI interface from bindingCurrently affected systems are C600/X79 based servers
that expose PCI device even though it doesn't supported ME Interface.
MEI driver accessing such nonfunctional device can corrupt
the system.Signed-off-by: Tomas Winkler
Signed-off-by: Greg Kroah-Hartman -
Before calling on any of the platform hooks, shared transport driver checks
for the validity of the platform hooks as to whether it is provided or not.
A wrong function was being checked for, before the chip_awake hook was called
by the HCI-LL sleep logic handler. This patch corrects the check.Signed-off-by: Pavan Savoy
Signed-off-by: Matthias Kaehlcke
Signed-off-by: Greg Kroah-Hartman -
If the read firmware version response from the chip is split into multiple
frames of UART buffer being received by the host, the TI-ST driver as of today
is unable to put the pieces of response together unlike other responses.Signed-off-by: Pavan Savoy
Signed-off-by: Greg Kroah-Hartman -
Be nice to CPU and don't hog the resources, use a nice wait_for_interruptible
timeout for completions instead of wait_for_timeout which is
non-interruptible.Signed-off-by: Pavan Savoy
Signed-off-by: Greg Kroah-Hartman -
If the communication with the WiLink breaks down for whatever reasons & the
ti-st driver is unable to un-install the line-discipline during clean-up in
st_kim_stop, the GPIO should be held low (BT_EN=0) & the platform's chip
disable hook shall also be called.Signed-off-by: Pavan Savoy
Signed-off-by: Greg Kroah-Hartman -
remove sparse warnings by assigning right storage specifiers to functions and
also clean-up the declarations in the include/linux/ti_wilink_st.hSigned-off-by: Pavan Savoy
Signed-off-by: Greg Kroah-Hartman -
A platform hook to enable/disable the chip was introduced to perform specific
activities to power-up and power-down the WL chip.
Moving the power-up/down sequence also there makes more sense, since different
platforms have begun to have their own ways to power-up/down the chip.
This patch removes all of the gpio handling done by the driver in
st_kim_start/st_kim_stop & any of the gpio request done in the probe function.Signed-off-by: Pavan Savoy
Signed-off-by: Greg Kroah-Hartman -
There is an automatic binding done for I2C devices in the of_i2c core
code. So, DT will be able to bind to any I2C device using the
already existing table: MODULE_DEVICE_TABLE(i2c, bmp085_id).Tested on omap5430 evm.
Signed-off-by: Sourav Poddar
Cc: Benoit Cousson
Cc: Santosh Shilimkar
Acked-by: Felipe Balbi
Signed-off-by: Greg Kroah-Hartman -
These drivers set the DMA_INTERRUPT capability bit when requesting a DMA
controller channel. This was historical, and is no longer needed.Recent changes to the drivers/dma/fsldma.c driver have removed support
for this flag. This makes the carma drivers unable to find a DMA channel
with the required capabilities.Cc: Arnd Bergmann
Cc: Greg Kroah-Hartman
Signed-off-by: Ira W. Snyder
Signed-off-by: Greg Kroah-Hartman -
this driver's pch_phub_pci_init, and pch_phub_pci_exit functions with
the module_init and module_exit calls can be replaced with
module_pci_driverSigned-off-by: Devendra Naga
Signed-off-by: Greg Kroah-Hartman -
sparse warns about using 0 as NULL pointer,
drivers/misc/pch_phub.c:702:44: warning: Using plain integer as NULL pointer
Signed-off-by: Devendra Naga
Signed-off-by: Greg Kroah-Hartman -
use watchdog_set/get_drvdata for passing mei_device
to watchdog_ops handlers instead of using global mei_deviceSigned-off-by: Tomas Winkler
Signed-off-by: Greg Kroah-Hartman