Added support for IT8771E, IT8772E, MAX34460, MAX34461, MCP98244,
and ADT7420 to existing drivers.
Added support for additional attributes to various drivers.
Replaced SENSORS_LIMIT with clamp_val; retire SENSORS_LIMIT;
Clean up PMBus code to reduce its size; clean up adt7410 driver.
A couple of minor bug fixes as well as documentation cleanup.
Out-of-tree change: Replace SENSORS_LIMIT with clamp_val in
platform/x86/eeepc-laptop driver.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABAgAGBQJRJFp1AAoJEMsfJm/On5mBenkP/RK56DwtPgFUVTZjiDWB8Bow
rirb9janv/yq9Q9+5/ABOI8aVm4Qnigo0EqniXht7rh0Q0whAzHWKQhgotCdm89f
2FfelrpE28OPGRioarLBavjsP5sefp0LCllhx91IrRhCbezcQEh3H4UQYzIvrVWY
GonlJUbdz+h/bb6QKILmxycLiZMcGcYi70/3kfJ1y6tMmqm0xCXbeGm7rTg7pi/g
M0OpCzSdlx6WFCpNoCFa3YfpDj1Ka06WtrJDVyCX0M0KahIAyAbxwQE5YJKeTRNr
ti6NTF94axw1nAZFs8RCIUBhC6NKAkxq5w1hRCX+srwgMDi0aCXgyMuhTb4EJm6n
5xYitPQxmdR0rRi8fZ+N6tIqb9HHAvAh3NU1BWhi/kf8UhGVcI6wMKeyrmOZ3Wve
2Z6PnTBA5p1B86n7WlZAqN4yw3wB7n5xP0JuBZezSSC3nx85jVAsKgZmCr2uaZST
W9OC5uxgvrqlgwKJFHTyNqL1yZQ5jwBdysg0t8CCINLmtcxdsDmMPGE2GEEKSKFL
PhTmKH0nruQFM1xZlQSgq2C5vA2mve/p4q1V4IwiPCW3NHTx2klyz51B4gEm6yUj
HyaepjSQa4tvcKyjhBcQN2TT0ypoPZgGkTbezO4zlYW5yTG4qzHCWvgtw9MQ2V90
80/9AYNtpdeJ4d0YZ7GS
=OTEn
-----END PGP SIGNATURE-----
Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
Pull hwmon updates from Guenter Roeck:
- New drivers for MAX6697 and compatibles and for INA209.
- Added support for IT8771E, IT8772E, MAX34460, MAX34461, MCP98244, and
ADT7420 to existing drivers.
- Added support for additional attributes to various drivers.
- Replaced SENSORS_LIMIT with clamp_val; retire SENSORS_LIMIT;
- Clean up PMBus code to reduce its size; clean up adt7410 driver.
- A couple of minor bug fixes as well as documentation cleanup.
- Out-of-tree change: Replace SENSORS_LIMIT with clamp_val in
platform/x86/eeepc-laptop driver.
* tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (32 commits)
hwmon: (ntc_thermistor): Fix sparse warnings
hwmon: (adt7410) Add device table entry for the adt7420
hwmon: (adt7410) Use I2C_ADDRS helper macro
hwmon: (adt7410) Use the SIMPLE_DEV_PM_OPS helper macro
hwmon: (adt7410) Let suspend/resume depend on CONFIG_PM_SLEEP
hwmon: (adt7410) Clear unwanted bits in the config register
hwmon: (jc42) Add support for MCP98244
hwmon: (pmbus) Clean up for code size reduction
hwmon: (pmbus/max34440) Add support for MAX34460 and MAX34461
hwmon: (pmbus) Add support for word status register
hwmon: (pmbus/zl6100) Add support for VMON/VDRV
hwmon: (pmbus) Add function to clear sensor cache
hwmon: (pmbus) Add support for additional voltage sensor
hwmon: (pmbus) Use krealloc to allocate attribute memory
hwmon: (pmbus) Simplify memory allocation for sensor attributes
hwmon: (pmbus) Improve boolean handling
hwmon: (pmbus) Simplify memory allocation for labels and booleans
hwmon: (pmbus) Use dev variable to represent client->dev
hwmon: (pmbus) Fix 'Macros with multiple statements' checkpatch error
hwmon: (pmbus) Drop unnecessary error messages in probe error path
...
- Grabbing of default pinctrl handles from the device core.
These are the hunks hitting drivers/base. All is ACKed by
Greg, after a long discussion about different alternatives.
- Some stuff also touches the MFD and ARM SoC trees, this has
been coordinated and ACKed.
- New drivers for:
- The Tegra 114 sub-SoC
- Allwinner sunxi
- New ABx500 driver and sub-SoC drivers for AB8500,
AB8505, AB9540 and AB8540.
- Make it possible for hogged pins to enter a sleep mode,
and make it possible for drivers to control that mode.
- Various clean-up, extensions and device tree support to
various pin controllers.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iQIcBAABAgAGBQJRHqYQAAoJEEEQszewGV1zsBwQAIDM3MYW6sJcNd+Ekcli8dqv
2dpzs3c4R9j3Ea0IUS3YRrk8pXeKIw6Ko0ifzFFLPF6s7kuBv1VaNdx7U8wbtoCj
ZprMmvWTJZvD4zP8WsT9TIgGcCiQQnHbz8jyucGgMUNuwt/S0f5FeQc2mQtZGklT
yuZ0z9eHQjqkX12ijI+lO5RI+Sduvd/FQgGIbhfoyBEMFwklTq3ePvmH5MUUMzXb
2uNSvACbnBUkvZlYLGlr5J5w6euqX7oxUnHEf2nBt2L8d0zgP2WC2tonLLwEtzD0
jcl3NA57eJa42PoQlNL6jZLz0kNWcGRfurstUO7UiFJ0lSxiwjYLGBqB5vfEdjAV
wg0BokJ1vigrzUUdNPEIh6QFSrXs0I76oAMmHbXxJjnEPwahn5forYpU3G6GmCy4
ZsTMJgXqrJeolqcDY583M31Lx0lu8/OwMjG6OBnDRCbhzq3bJgF/Nhu9nzmShFN7
3z+NK0zBzECylV31eygyoU4SUQduYrV2YEav0QNRiZWfi3HBNcEiZGBJxUvv7+cc
lYox6CPLCZN0Xn9y2Jt3uLNeivdjQLAJRPWnLaFtq0i4EjqpTtQnzw5LLsIqhumc
9BhhoZ6ktPnp9CK6gQOy+dwJPiigCrqog5oCqLArI0UvRrE7BNkHrjRay8PkMqRC
Fl4x7eR3fVfENExogGac
=SQ9W
-----END PGP SIGNATURE-----
Merge tag 'pinctrl-for-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pinctrl changes from Linus Walleij:
"These are the main pinctrl changes for the v3.9 merge window. The
most interesting change by far is how the device core grabs pinctrl
default handles avoiding the need to stick boilerplate into driver
consumers.
- Grabbing of default pinctrl handles from the device core. These
are the hunks hitting drivers/base. All is ACKed by Greg, after a
long discussion about different alternatives.
- Some stuff also touches the MFD and ARM SoC trees, this has been
coordinated and ACKed.
- New drivers for:
- The Tegra 114 sub-SoC
- Allwinner sunxi
- New ABx500 driver and sub-SoC drivers for AB8500, AB8505, AB9540
and AB8540.
- Make it possible for hogged pins to enter a sleep mode, and make it
possible for drivers to control that mode.
- Various clean-up, extensions and device tree support to various pin
controllers."
* tag 'pinctrl-for-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (68 commits)
pinctrl: tegra: add clfvs function to Tegra114 support
pinctrl: generic: rename input schmitt disable
pinctrl/pinconfig: add debug interface
pinctrl: samsung: remove duplicated line
ARM: ux500: use real AB8500 IRQ numbers instead of virtual ones
ARM: ux500: remove irq_base property from platform_data
pinctrl/abx500: use direct IRQ defines
pinctrl/abx500: replace IRQ offsets with table read-in values
pinctrl/abx500: move IRQ handling to ab8500-core
pinctrl: exynos5440: remove erroneous __init
pinctrl/abx500: adjust offset for get_mode()
pinctrl/abx500: add Device Tree support
pinctrl/abx500: align GPIO cluster boundaries
pinctrl/abx500: prevent error path from corrupting returning error
pinctrl: sunxi: add of_xlate function
pinctrl/lantiq: fix pin number in ltq_pmx_gpio_request_enable
pinctrl/lantiq: add functionality to falcon_pinconf_dbg_show
pinctrl/lantiq: fix pinconfig parameters
pinctrl/lantiq: one of the boot leds was defined incorrectly
pinctrl/lantiq: only probe available pad controllers
...
A fairly quiet release for the regulator API, the bulk of the changes
being lots of small cleanups and API updates contributed by Axel Lin
with just a small set of larger changes:
- New driver for LP8755
- DT support for S5M8767, TPS51632, TPS6507x and TPS65090
- Support for writing a "commit changes" bit in the regmap helper
functions.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQIcBAABAgAGBQJRI3THAAoJELSic+t+oim9s74P/jrnSyHIE6soY4QjWb2N9Vgd
QjbEYZFPwNMXgcYt7P3srJbHr0L/Jrwweo+AZDw1z9WDT9aPBAIW/r2cIQ4V/bRg
KFvb77JAi/iwKXzjReJpk4lZvwmnb9O6ZLZFnq0FC7Wfu8SDkskzT5FOwkqNjnR2
6NzDGIgXddSxPYUH6gsZYiYw3b9DcW2HguT4C69XSjFssYeOtvHdEAEO+8drylAF
AEqPylzkhWG44KuDOw3CioHrz9nHuWQor4GyeH1pm06YFdHss9uNe3oA5J75Vk5f
6ugNSHcq9kU/3o6TaHARkDJ/DbgjA5aAu/alXBrpEpSSKgEvnFOgEcb43QGWPeuz
R0CK6KSAG4WzLFeVq+ped6470/YiihhUeyIgt5t+ug4g8a6xkw9L6K9NzypOVYD7
7fcUJnuzZz7v0MwVCJmHr7b9ESQac5vuwlGLE2iaNBIcsXI4S1uv6rrJI7mL5JbY
f7YpPHCAytDhAW0myuI55L8bkCUK/EuL1c8ISKehGdfkY72ZFgYZbV5225u4Fuf4
J+s2UICtIacKAtL3VXM1sR7Q5I5QfXvF+F36yrZriZzw3r5mDcxVo8+nymcduxW7
h2qFQ11725qDaPcorI5WbHsL6yoePTJPJN/x8ewxkrqB05lLeTJetm5ncB9ZUTFh
LdgLZROnRreFXXFMWpwZ
=+3b2
-----END PGP SIGNATURE-----
Merge tag 'regulator-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
Pull regulator updates from Mark Brown:
"A fairly quiet release for the regulator API, the bulk of the changes
being lots of small cleanups and API updates contributed by Axel Lin
with just a small set of larger changes:
- New driver for LP8755
- DT support for S5M8767, TPS51632, TPS6507x and TPS65090
- Support for writing a "commit changes" bit in the regmap helper
functions."
* tag 'regulator-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (60 commits)
regulator: Fix memory garbage dev_err printout.
regulator: max77686: Reuse rdev_get_id() function.
regulator: tps51632: Use regulator_[get|set]_voltage_sel_regmap
regulator: as3711: Fix checking if no platform initialization data
regulator: s5m8767: Prevent possible NULL pointer dereference
regulator: s5m8767: Fix dev argument for devm_kzalloc and of_get_regulator_init_data
regulator: core: Optimize _regulator_do_set_voltage if voltage does not change
regulator: max8998: Let regulator core handle the case selector == old_selector
regulator: s5m8767: Use of_get_child_count()
regulator: anatop: improve precision of delay time
regulator: show state for GPIO-controlled regulators
regulator: s5m8767: Fix build in non-DT case
regulator: add device tree support for s5m8767
regulator: palmas: Remove a redundant setting for warm_reset
regulator: mc13xxx: Use of_get_child_count()
regulator: max8997: Use of_get_child_count()
regulator: tps65090: Fix using wrong dev argument for calling of_regulator_match
regulators: anatop: add set_voltage_time_sel interface
regulator: Add missing of_node_put()
regulator: tps6507x: Fix using wrong dev argument for calling of_regulator_match
...
Patch c08e20d "arm: Add v7_invalidate_l1 to cache-v7.S" added
a generic version of this function and removed all platform
specific versions, while 4898de3 "ARM: PRIMA2: add new SiRFmarco
SMP SoC infrastructures" added another one, leading to a link
error. I verified that the two are identical, so we can
just remove the one in mach-prima2.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Several nice new features and performance improvements here, especially
the first:
- Support for using the cache infrastructure without the physical I/O,
allowing devices which don't fit the physical model regmap has to
take advantage of the cache infrastructure, contributed by Andrey
Smirnov.
- Several small improvements to the support for wake capable IRQs.
- Support for asynchronous I/O, allowing us to come much closer to
saturating fast buses like SPI.
- Support for simple array caches, giving higher performance for use
with MMIO devices.
- Restoration of the use of bulk reads for handling interrupts, giving
a performance improvement.
- Support for 24 bit register addresses.
- More performance improvements for debugfs.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQIcBAABAgAGBQJRI3JNAAoJELSic+t+oim9u48P/RO7v12dlQsH97PjWv5MFMNZ
LUqgfeP8zAyo3JiiHzQ8f+OFj5qKD1qE4hGRMPjoDQBEzNUYkppaEMolpeo3YP6k
51WkCrzgsAHvHRBO23v94JVXNiITKi7vtrzVvoY/j/0bKkwRtx80MHQngs5Z2gCr
cdfTbGBtyeEJE7vm4CeKJA+LNyCmO6c2ykd65WYaNaczOo0TOTJwAjgDCjaytiKi
wFPdm6ClO/vVeJdOVLowTHCyweQNSzhqbSNS8YZ8xVqaSUvLNvcfnHcSjiL+jjdn
Rv3kxYyXzM/fBgrFKBEjFEOMWiL0+og9kbayeRUcCQsBUNPNVpMNfr1HKhyajI6M
tFgg7rg9yodL+GHgiMBsEwQPVqeWDUvq3Hs5jFLqonejB+Owe5lzyaAYez7l5Grq
SgyhiF+K3nhefFyaIgiUC/qC7DuSRTqVreXtd1sp5ceaYw6tDvAR00HSipVQABxu
V4Gqz7czPk02IqabYxbuDfqLqOBk8Y0lygSCkvyI/9ueQt5VOhQNl7QFwGFYrLiW
p7E4InDU/BoqXOR6VCXaHO0Gbj+IcRhqPW158t0S1Dz3hSevWN6vt2gNKKp6EWZI
YY3kobN3VyNgwexOtZB4dCEtTwr7pZeQNsWMfEZHtMW/MY8kOdKyXe4QgOyOifTZ
NKe4inksJI9dUEBOwAxP
=S0R9
-----END PGP SIGNATURE-----
Merge tag 'regmap-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap
Pull regmap updates from Mark Brown:
"Several nice new features and performance improvements here,
especially the first:
- Support for using the cache infrastructure without the physical
I/O, allowing devices which don't fit the physical model regmap has
to take advantage of the cache infrastructure, contributed by
Andrey Smirnov.
- Several small improvements to the support for wake capable IRQs.
- Support for asynchronous I/O, allowing us to come much closer to
saturating fast buses like SPI.
- Support for simple array caches, giving higher performance for use
with MMIO devices.
- Restoration of the use of bulk reads for handling interrupts,
giving a performance improvement.
- Support for 24 bit register addresses.
- More performance improvements for debugfs."
* tag 'regmap-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (24 commits)
regmap: mmio: add register clock support
regmap: debugfs: Factor out debugfs_tot_len calc into a function
regmap: debugfs: Optimize seeking within blocks of registers
regmap: debugfs: Add a `max_reg' member in struct regmap_debugfs_off_cache
regmap: debugfs: Fix reading in register field units
regmap: spi: Handle allocation failures gracefully
regmap: Export regmap_async_complete()
regmap: Export regmap_async_complete_cb
regmap: include linux/sched.h to fix build
regmap: spi: Support asynchronous I/O for SPI
regmap: Add asynchronous I/O support
regmap: Add "no-bus" option for regmap API
regmap: regmap: avoid spurious warning in regmap_read_debugfs
regmap: Add provisions to have user-defined write operation
regmap: Add provisions to have user-defined read operation
regmap: Add support for 24 bit wide register addresses
mfd: wm5110: Mark wakes as inverted
mfd: wm5102: Mark wakes as inverted
regmap: irq: Support wake IRQ mask inversion
regmap: irq: Fix sync of wake statuses to hardware
...
Pull cpuset changes from Tejun Heo:
- Synchornization has seen a lot of changes with focus on decoupling
cpuset synchronization from cgroup internal locking.
After this change, there only remain a couple of mostly trivial
dependencies on cgroup_lock outside cgroup core proper. cgroup_lock
is scheduled to be unexported in this devel cycle.
This will finally remove the fragile locking order around cgroup
(cgroup locking wants to / should be one of the outermost but yet has
been acquired from deep inside individual controllers).
- At this point, Li is most knowlegeable with cpuset and taking over
the maintainership of cpuset.
* 'for-3.9-cpuset' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
cpuset: drop spurious retval assignment in proc_cpuset_show()
cpuset: fix RCU lockdep splat
cpuset: update MAINTAINERS
cpuset: remove cpuset->parent
cpuset: replace cpuset->stack_list with cpuset_for_each_descendant_pre()
cpuset: replace cgroup_mutex locking with cpuset internal locking
cpuset: schedule hotplug propagation from cpuset_attach() if the cpuset is empty
cpuset: pin down cpus and mems while a task is being attached
cpuset: make CPU / memory hotplug propagation asynchronous
cpuset: drop async_rebuild_sched_domains()
cpuset: don't nest cgroup_mutex inside get_online_cpus()
cpuset: reorganize CPU / memory hotplug handling
cpuset: cleanup cpuset[_can]_attach()
cpuset: introduce cpuset_for_each_child()
cpuset: introduce CS_ONLINE
cpuset: introduce ->css_on/offline()
cpuset: remove fast exit path from remove_tasks_in_empty_cpuset()
cpuset: remove unused cpuset_unlock()
Pull cgroup changes from Tejun Heo:
"Nothing too drastic.
- Removal of synchronize_rcu() from userland visible paths.
- Various fixes and cleanups from Li.
- cgroup_rightmost_descendant() added which will be used by cpuset
changes (it will be a separate pull request)."
* 'for-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
cgroup: fail if monitored file and event_control are in different cgroup
cgroup: fix cgroup_rmdir() vs close(eventfd) race
cpuset: fix cpuset_print_task_mems_allowed() vs rename() race
cgroup: fix exit() vs rmdir() race
cgroup: remove bogus comments in cgroup_diput()
cgroup: remove synchronize_rcu() from cgroup_diput()
cgroup: remove duplicate RCU free on struct cgroup
sched: remove redundant NULL cgroup check in task_group_path()
sched: split out css_online/css_offline from tg creation/destruction
cgroup: initialize cgrp->dentry before css_alloc()
cgroup: remove a NULL check in cgroup_exit()
cgroup: fix bogus kernel warnings when cgroup_create() failed
cgroup: remove synchronize_rcu() from rebind_subsystems()
cgroup: remove synchronize_rcu() from cgroup_attach_{task|proc}()
cgroup: use new hashtable implementation
cgroups: fix cgroup_event_listener error handling
cgroups: move cgroup_event_listener.c to tools/cgroup
cgroup: implement cgroup_rightmost_descendant()
cgroup: remove unused dummy cgroup_fork_callbacks()
This is required to get the reference clock used
by the gfx engine for things like timestamps. Fixes
support for GL extensions the use timestamps on
certain boards.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Smatch anlysis:
drivers/gpu/drm/radeon/atom.c:1242 atom_index_iio() error: potential null
dereference 'ctx->iio'. (kzalloc returns null)
Also cleaned up some checks before calls to kfree(). kfree(NULL) is OK.
Cc: David Airlie <airlied@linux.ie>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Michel Dänzer" <michel.daenzer@amd.com>
Cc: Dave Airlie <airlied@redhat.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
On ARM we want these to be the same size on 32- and 64-bit.
This is an ABI change on ARM. X86 does not change.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Jan Beulich <JBeulich@suse.com>
Cc: Keir (Xen.org) <keir@xen.org>
Cc: Tim Deegan <tim@xen.org>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: xen-devel@lists.xen.org
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reorders a couple of device IDs (Logitech controllers) to ensure
that they are in hexidecimal order.
Signed-off-by: Simon Wood <simon@mungewell.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This patch removes code which is now unnecessary for setting the fuzz/flat
characterics for the logitech DFP wheel. This is now done in the previous
patch by marking the wheel as a multi-axis device.
Signed-off-by: Simon Wood <simon@mungewell.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This patch ensures that the Logitech wheels are not initialised with
default fuzz/flat values, by marking them as multiaxis devices (rather
than joysticks).
Signed-off-by: Simon Wood <simon@mungewell.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Previously 'LG4FF' was only used for the WiiWheel, however it is now used
for all the Logitech Wheels. This patch corrects the detection mechanism
for the patching the report descriptor to ensure only the WiiWheel will
be patched.
Signed-off-by: Simon Wood <simon@mungewell.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This patch provides a modified report descriptor to split accelerator
and brake, and adds the 'NO_GET' flag to prevent it hanging on
connection.
Note: for convience this patch is against the follow patch which was applied
earlier this week.
https://patchwork.kernel.org/patch/2153471/
Signed-off-by: Simon Wood <simon@mungewell.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Nothing terribly exciting in here probably:
- reworked thermal stuff from mupuf/I, has a chance of possibly working
well enough when we get to being able to reclock..
- driver will report mmio access faults on chipsets where it's supported
- will now sleep waiting on fences on nv84+ rather than polling
- some cleanup of the internal fencing, looking towards sli/dmabuf sync
- initial support for anx9805 dp/tmds encoder
- nv50+ display fixes related to the above, and also might fix a few
other issues
- nicer error reporting (will log process names with channel errors)
- various other random fixes
* 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (87 commits)
nouveau: ACPI support depends on X86 and X86_PLATFORM_DEVICES
drm/nouveau/i2c: add support for ddc/aux, and dp link training on anx9805
drm/nv50: initial kms support for off-chip TMDS/DP encoders
drm/nv50-/disp: initial supervisor support for off-chip encoders
drm/nv50-/disp: initial work towards supporting external encoders
drm/nv50-/kms: remove unnecessary wait-for-completion points
drm/nv50-/disp: move DP link training to core and train from supervisor
drm/nv50-/disp: handle supervisor tasks from workqueue
drm/nouveau/i2c: create proper chipset-specific class implementations
drm/nv50-/disp: 0x0000 is a valid udisp config value
drm/nv50/devinit: reverse the logic for running encoder init scripts
drm/nouveau/bios: store a type/mask hash in parsed dcb data
drm/nouveau/i2c: extend type to 16-bits, add lookup-by-type function
drm/nouveau/i2c: aux channels not necessarily on nvio
drm/nouveau/i2c: fix a bit of a thinko in nv_wri2cr helper functions
drm/nouveau/bios: parse external transmitter type if off-chip
drm/nouveau: store i2c port pointer directly in nouveau_encoder
drm/nouveau/i2c: handle i2c/aux mux outside of port lookup function
drm/nv50/graph: avoid touching 400724, it doesn't exist
drm/nouveau: Fix DPMS 1 on G4 Snowball, from snow white to coal black.
...
It seems that this assignment is done twice in a row. Remove the
duplicate assignment.
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: Steven Miao <realmz6@gmail.com>
Cc: trivial@kernel.org
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Sync data in blackfin write buffer to DRAM before return from
copy_to_user.
Otherwise, application may read wrong data from stat syscall occasionally.
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bob Liu <lliubbo@gmail.com>
The bitmap library provides more efficient functions than accessing
individual bits with bitops.
This uses bitmap_find_next_zero_area() to find a continuing zero area,
and uses bitmap_set()/bitmap_clear() to set/clear specified bit area.
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: uclinux-dist-devel@blackfin.uclinux.org
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Pull async changes from Tejun Heo:
"These are followups for the earlier deadlock issue involving async
ending up waiting for itself through block requesting module[1]. The
following changes are made by these commits.
- Instead of requesting default elevator on each request_queue init,
block now requests it once early during boot.
- Kmod triggers warning if invoked from an async worker.
- Async synchronization implementation has been reimplemented. It's
a lot simpler now."
* 'for-3.9-async' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
async: initialise list heads to fix crash
async: replace list of active domains with global list of pending items
async: keep pending tasks on async_domain and remove async_pending
async: use ULLONG_MAX for infinity cookie value
async: bring sanity to the use of words domain and running
async, kmod: warn on synchronous request_module() from async workers
block: don't request module during elevator init
init, block: try to load default elevator module early during boot
If I build nouveau on ia64, Kconfig warns:
warning: (DRM_NOUVEAU) selects ACPI_WMI which has unmet direct dependencies (X86 && X86_PLATFORM_DEVICES && ACPI)
warning: (DRM_NOUVEAU) selects MXM_WMI which has unmet direct dependencies (X86 && X86_PLATFORM_DEVICES && ACPI_WMI)
Make all the ACPI support depend on X86 and select
X86_PLATFORM_DEVICES.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Pull workqueue changes from Tejun Heo:
"A lot of reorganization is going on mostly to prepare for worker pools
with custom attributes so that workqueue can replace custom pool
implementations in places including writeback and btrfs and make CPU
assignment in crypto more flexible.
workqueue evolved from purely per-cpu design and implementation, so
there are a lot of assumptions regarding being bound to CPUs and even
unbound workqueues are implemented as an extension of the model -
workqueues running on the special unbound CPU. Bulk of changes this
round are about promoting worker_pools as the top level abstraction
replacing global_cwq (global cpu workqueue). At this point, I'm
fairly confident about getting custom worker pools working pretty soon
and ready for the next merge window.
Lai's patches are replacing the convoluted mb() dancing workqueue has
been doing with much simpler mechanism which only depends on
assignment atomicity of long. For details, please read the commit
message of 0b3dae68ac ("workqueue: simplify is-work-item-queued-here
test"). While the change ends up adding one pointer to struct
delayed_work, the inflation in percentage is less than five percent
and it decouples delayed_work logic a lot more cleaner from usual work
handling, removes the unusual memory barrier dancing, and allows for
further simplification, so I think the trade-off is acceptable.
There will be two more workqueue related pull requests and there are
some shared commits among them. I'll write further pull requests
assuming this pull request is pulled first."
* 'for-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (37 commits)
workqueue: un-GPL function delayed_work_timer_fn()
workqueue: rename cpu_workqueue to pool_workqueue
workqueue: reimplement is_chained_work() using current_wq_worker()
workqueue: fix is_chained_work() regression
workqueue: pick cwq instead of pool in __queue_work()
workqueue: make get_work_pool_id() cheaper
workqueue: move nr_running into worker_pool
workqueue: cosmetic update in try_to_grab_pending()
workqueue: simplify is-work-item-queued-here test
workqueue: make work->data point to pool after try_to_grab_pending()
workqueue: add delayed_work->wq to simplify reentrancy handling
workqueue: make work_busy() test WORK_STRUCT_PENDING first
workqueue: replace WORK_CPU_NONE/LAST with WORK_CPU_END
workqueue: post global_cwq removal cleanups
workqueue: rename nr_running variables
workqueue: remove global_cwq
workqueue: remove worker_pool->gcwq
workqueue: replace for_each_worker_pool() with for_each_std_worker_pool()
workqueue: make freezing/thawing per-pool
workqueue: make hotplug processing per-pool
...
We need to be able to do link training for PIOR-connected ANX9805 from
the third supervisor handler (due to script ordering in the bios, can't
have the "user" call train because some settings are overwritten from
the modesetting bios scripts).
This moves link training for SOR-connected DP encoders to the second
supervisor interrupt, *before* we call the modesetting scripts (yes,
different ordering from PIOR is necessary). This is useful since we
should now be able to remove some hacks to workaround races between
the supervisor and link training paths.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
A single U encoder table can match multiple DCB entries, whereas the
reverse is not true and can lead to us not matching a DCB entry at
all, and fail to initialise some encoders.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
For off-chip transmitters we won't necessarily have an i2c table entry
to lookup, but we can do it instead by encoding the type to include
the extdev type and looking that up instead.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>