The following is needed as well to fix warning/error about shifting a 32 bit
value 32 bits which occurs if building on 32 bit platform caused by conversion
to using dma_addr_t
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
hv_kvp_daemon.c: In function 'main':
hv_kvp_daemon.c:1441:8: warning: ignoring return value of 'daemon', declared with attribute warn_unused_result [-Wunused-result]
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
... to simplify error path in upcoming changes.
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patchset add new file for OF helper API and modify small fix of extcon-palmas
driver. Also, extcon core dirver use power_efficient_wq instead of system_wq.
Detailed description for patchset:
1. Add new file for OF helper API
- Add OF(OpenFirmware) Helper API which is of_extcon_get_extcon_device().
This helper API get the extcon device name on extcon consumer device.
- Add usase case about OF helper API of extcon in dwc3-omap.c. dwc3-omap driver
use extcon subsystem to detect the state of USB/USB-Host cable so dwc3-omap
call of_extcon_get_extcon_device() to need extcon device name.
2. Modify extcon-palmas.c driver
- Provide option to select whether interrupt is used or not
- Support suspend/resume for palmas driver
- Update palmas interrupt register to detect ID pin
- Code clean to remove unused data
- Rename filename for device tree binding (extcon-twl.txt -> extcon-palmas.txt)
3. Use power_effcient_wq on extcon core driver/extcon-arizona instead of system_wq
- extcon core driver(extcon-gpio.c/extcon-adc-jack.c) use power_effcient_wq
instead of system_wq.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABAgAGBQJR/vG5AAoJEJzN3yze689TsBgP/RM89kpuNuXf7WClvHQEOrmF
tb+6GNpjlOHHKAiZbeHbf2Kx+OBCM4ciA14SeRsKA/f6SuOCcxp1ZYvqaSgpOl83
g4Ya9EgNxoAvkFQwceT+fc+p4BZ4/oWR5El2uE5N8A7Ow862YBnFP0YMo/02VRrn
8TieWjDNdbL7nHytZkWpFRQt4l+bHVCIOUb8x0lkddhvS0yz2NZLbyVSkEb07vDD
TSaS7haxO05A8QcoMZOHN4EqSWmIUIqBgOX1knlzrt4oS3Vg6GyBQrEwAz0NbrUl
qLttTuWsNGSnPbT+EdrgOqfFydX37s79CjJWRQ/wJJwDl4vMbS9NzIhx32pf2WAC
tnGTfopciFEK9FF8L56XsvlcG+UjWehkksh1XuaEdBk2OKfEeaMT0vswlO8FigaK
aduNX+aLlscoQN6+r/tjxAXEUxsspJLShZ4vpZxN2pQbPGa9K/tZsGPAM6B/PPcP
yyAWVlEDVK3rWz5LxnwTR5XdtYSLz8hNKtqCOrj3+2B+cE2tktodNICXV+jfxLnX
1qI/tlaa7bAK/68caU25GeXMuicgDT5yCHAQ6Sj+Vep7Y/8LbtoQTVRL7AqWhRc4
eIt03SQuYldzow2so0mqA9wXJrmtHDsj96orHFs1qhvMTPzTo2AynZ4zuZZXGr1W
8q3HYS1M0oGm7kQH6dDs
=zX8b
-----END PGP SIGNATURE-----
Merge tag 'extcon-next-for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-next
Chanwoo writes:
Update extcon for 3.12
This patchset add new file for OF helper API and modify small fix of extcon-palmas
driver. Also, extcon core dirver use power_efficient_wq instead of system_wq.
Detailed description for patchset:
1. Add new file for OF helper API
- Add OF(OpenFirmware) Helper API which is of_extcon_get_extcon_device().
This helper API get the extcon device name on extcon consumer device.
- Add usase case about OF helper API of extcon in dwc3-omap.c. dwc3-omap driver
use extcon subsystem to detect the state of USB/USB-Host cable so dwc3-omap
call of_extcon_get_extcon_device() to need extcon device name.
2. Modify extcon-palmas.c driver
- Provide option to select whether interrupt is used or not
- Support suspend/resume for palmas driver
- Update palmas interrupt register to detect ID pin
- Code clean to remove unused data
- Rename filename for device tree binding (extcon-twl.txt -> extcon-palmas.txt)
3. Use power_effcient_wq on extcon core driver/extcon-arizona instead of system_wq
- extcon core driver(extcon-gpio.c/extcon-adc-jack.c) use power_effcient_wq
instead of system_wq.
This reverts commit 98a5e9e99d.
IIO, like the rest of the kernel, should rely on dynamic debugging, not
have a special config option for it. That way, no user has to rebuild
their kernel to have debug messages, which is a good thing, let's not
revert back to the bad old days of the 2000's.
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
There has been a lot of good work going into IIO recently, some of which
missed this pull request purely because I haven't caught up with all my
emails.
Core changes
1) Introduction of devm_iio_device_alloc/free and conversions of lots of
drivers (37 + patches so far mostly from Sachin)
2) A Kconfig option to enabled some debug logging subsystem wide.
New drivers
1) Nuvoton NAU7802 adc driver
2) Avago APDS9300 ambient light sensor driver.
Staging graduations
1) ADIS16260 gyroscope (after a lot fo cleaning up from Lars-Peter)
New driver features
1) ST-sensors gain control of which pin is used for dataready.
2) mcp4725 gains eeprom saving (a later fix deals with a wrong return type
bug in that patch)
3) A number of drivers have gained module alias' to aid autoloading.
Cleanups and minor bug fixes.
1) A number of typos in Kconfig comments
2) Drop remaining mentions of ring buffers (now just buffers)
3) Overrestrictive i2c function checking in the invensense mpu6050 driver
4) Some help text clarifications.
5) store_eeprom is now used in several drivers so move to generic abi docs.
6) Update dac power down options.
7) Add some error handlign to mxs-lradc on stmp_reset_block call.
8) Lars fixed the alphabetical order in various files and added comments
to try and prevent them getting messed up again.
9) Dropped some remaining 'reset' attributes for drivers. We have never
seen a reason why these should be available. Finally the macro
used to define many of these has gone.
10) lps331ap gets an easier to check temperature scale implementation.
11) Various cleanups for the hmc5843 from Peter with a view to getting
it ready for a staging graduation.
Quite a few other little typo fixes etc.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (GNU/Linux)
iQIcBAABAgAGBQJR/ofcAAoJEFSFNJnE9BaIN00QALxIW/4uP3/Ebv7jDJtOA1Ow
zzmsEfvDelAlqV+LZM97l7vHPRDrZY7PgDmOtDQZPsRdawnXH1rUopj0oxVWLiYv
NGDagCi2D5kPbR67/79n0ArNBvTo15EluxrcxDvMDTLX2QRUCrV0a67TFemT/Ooy
rvYEwLau/nUrxdwwGayxx81Pxy2Xke6wwvCfa/+pZqZv8q8GkKGDbhXfZdsW968t
0zgOSh+MyxfvEfeRam+kwZ806AAbz34c0b9aVSGCzTS8ZQ8kuxMBFhNgICVWEzoK
zS/sx0jbIsoTPUF+lwoluSYx15fih1t5sktYD4rAOo2HBVyYNM9GgOjbazU/Mskb
2mNkAkWboxvfccuBaIB4wRSTa/e33d/qTczs62e7MEcUCWnHmfzsdUJOiZwJJLSk
WhxoVaom16ze+EEPqQ8rWRRqI4nn4bP0bBSuZ+uptHA45VUokyHj8eIVkuZa34Lm
HQPiiF647kFsBnWOEZVxGsku0BSVjZWBpOyr95OOOtJcNMvxpBfDF21mtWpZtC4u
UCMnDBsHmyK/z8VXTtUXQ1PePrc8YKZajMJypcUEq9dcd5ymlvUf2gVsnoGLn4Zb
vhpov//UR+OVRoZOOfbWhnRhUS3zx7+b9+qNhN/9UYN5lxx8zy9YyRJEWOcBbaQu
k+KzLiEZrtAVeZ7+WT05
=gGdq
-----END PGP SIGNATURE-----
Merge tag 'iio-for-3.12a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Jonathan writes:
First round of new IIO drivers, features and cleanups for the 3.12 cycle.
There has been a lot of good work going into IIO recently, some of which
missed this pull request purely because I haven't caught up with all my
emails.
Core changes
1) Introduction of devm_iio_device_alloc/free and conversions of lots of
drivers (37 + patches so far mostly from Sachin)
2) A Kconfig option to enabled some debug logging subsystem wide.
New drivers
1) Nuvoton NAU7802 adc driver
2) Avago APDS9300 ambient light sensor driver.
Staging graduations
1) ADIS16260 gyroscope (after a lot fo cleaning up from Lars-Peter)
New driver features
1) ST-sensors gain control of which pin is used for dataready.
2) mcp4725 gains eeprom saving (a later fix deals with a wrong return type
bug in that patch)
3) A number of drivers have gained module alias' to aid autoloading.
Cleanups and minor bug fixes.
1) A number of typos in Kconfig comments
2) Drop remaining mentions of ring buffers (now just buffers)
3) Overrestrictive i2c function checking in the invensense mpu6050 driver
4) Some help text clarifications.
5) store_eeprom is now used in several drivers so move to generic abi docs.
6) Update dac power down options.
7) Add some error handlign to mxs-lradc on stmp_reset_block call.
8) Lars fixed the alphabetical order in various files and added comments
to try and prevent them getting messed up again.
9) Dropped some remaining 'reset' attributes for drivers. We have never
seen a reason why these should be available. Finally the macro
used to define many of these has gone.
10) lps331ap gets an easier to check temperature scale implementation.
11) Various cleanups for the hmc5843 from Peter with a view to getting
it ready for a staging graduation.
Quite a few other little typo fixes etc.
1) Fix a long term race in the IIO trigger handling.
This only effects cases where a single trigger is in use
by multiple devices.
2) ti_am335x fix an issue with incorrect data due to reading before
the sequencer is finished.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (GNU/Linux)
iQIcBAABAgAGBQJR/oKnAAoJEFSFNJnE9BaItqYP/0V7a+3mVr2mCGq0McyUmY+P
jQJ6+jg6Vv0RKajOKadv150qgQwrmCwE2Zgev8dmdrTajd/Ww0PiowUgmDSmacnE
L+Tl5YDCG2arcZs6QiuccSTbssH/U8JOraFkKtlAw3dObWzMagg5eFHOXmnduHEp
aY5O0v0eLySF1/1HaVkPFZ6zvWQnUh9ylnijqgZTT2JtUifuy2oR4Ib806G3ObU/
gUJFN+FbUgbSKSy5GeBVWGEAG5YS8Io6GcWtCI5gzIlwfOoL6G0cCSueuTqD1/WZ
R2uHi9irjNTmdysOlONvXRiKyZqPIFY2Th8DsfbrI5y5cm/hAXM0LeZLGmEosqKM
qYqdA3AIVCaVRguyqtwO4q5t/taPS+D08TfnpiKr75JfB4BO6w9fm6RLSxeBtzoQ
dAQhW/T4qooefDfe/x8Ol7AElVV5vNkJ82U2zoIOhWIcAHIFdUNGFI3Y4EAirEsh
aFFQRaHCInwWtIEISlEvHWc3e1LbMXQajHuSU6UKvOrcI4d9NJSGDzNb6xyRIKSb
zxeC8fxKLeJAtXj9iUrBBBn41cx5DZueGJzsuCtCUvApi/jujXWrxfDK0DaAodZ3
6anolfW59YfWuEaXDBa0Y041qG4NI/fOZbrd43sY+9Bg6ZlGq2jss0u9rvI2Xtn7
xhg2F75nFKKnv7JF7cRZ
=U1lS
-----END PGP SIGNATURE-----
Merge tag 'iio-fixes-for-3.11b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus
Jonathan writes:
Second round of IIO fixes for the 3.11 cycle.
1) Fix a long term race in the IIO trigger handling.
This only effects cases where a single trigger is in use
by multiple devices.
2) ti_am335x fix an issue with incorrect data due to reading before
the sequencer is finished.
There are several drivers in drivers/net/usb/ that
do not have specific MAINTAINERS that should have
emails forwarded to the linux-usb mailing list.
Add a section for those drivers.
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Hi Greg,
Here's two small fixes for 3.11. The first patch fixes a 5 second hang in
khubd after a USB device disconnect on some xHCI hosts. The second fixes a
build warning.
Sarah Sharp
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABAgAGBQJR+VdHAAoJEBMGWMLi1Gc54VsQAJojRfFC/mY5PUqapziInwcV
UF0Of17K4vTj+yByuAINLI+uvNSaTnSSb1nb9lu/K8jzpfO0Nx/pYEPZJ2WUeSOA
mBnY3ohbBG+GNvfMTuMpBw+PnM0BKoUcI/B+GwXwOCOjlqMcz0p1Ocgc3QYdI5Zg
sYDA/eLf9lUQw9wqdBh5YHVqNboeVy1E+f04aKsR52GSHxE2v/q4pAIV4ScuchlM
nxuiLucEM+uVkh4LtJHt1CHINH5dRqi7TQObw4wcn5YDFzj2ykiiHOe5bzvj1z4/
qTja4r8M+uCe27cTbd6DY4ZUrUgjhsEcBOQG+/20jgb8X1UtjEMYeOjykjypKqnC
L6JAJCEkLQH3Xt3BkJ8lMM4VlAdPIskc3GZGOzvU2cvlarI5nLISpmf/iZdD7uh0
HfPMbFyLnR8YCI/zcVrGcesCJxNwYQOFsoiyY3iWLAJArEWIHq9gkiy5hOcba9Vm
REZq5dd0bPxadUm6c4goM9EQYyogpLkwo3bMQDoqNBd0qQ1aqvDOcYindqdCD25F
k+Tdo58k7MnqqX2fjQXBFMJzvSRbQaXQQDreTSra9M3behckNoUc2aWRHQj4mWn5
oDdID4qYOgjTOcv8OxC/nIdEBzSOioxvHewr9RA5dRzv09w6ydkuRVkyF3hVaD83
S1YbGmEAW1RVVcu7buJm
=sAz1
-----END PGP SIGNATURE-----
Merge tag 'for-usb-linus-2013-07-31' of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-linus
Sarah writes:
xhci: Misc bug fixes for 3.11.
Hi Greg,
Here's two small fixes for 3.11. The first patch fixes a 5 second hang in
khubd after a USB device disconnect on some xHCI hosts. The second fixes a
build warning.
Sarah Sharp
Only the basic call to aid debugging.
*** NOT FOR PRODUCTION ***
Usage:
echo <cpuid>,<clusterid> > /dev/b.L_switcher
where <cpuid> is the logical CPU number, and <clusterid> is 0 for the
first cluster and 1 for the second cluster.
Signed-off-by: nicolas Pitre <nico@linaro.org>
Trying to support both the switcher and CPU hotplug at the same time
is tricky due to ambiguous semantics. So let's at least prevent users
from messing around with those logical CPUs the switcher has removed
and those which were not active when the switcher was activated.
Signed-off-by: Nicolas Pitre <nico@linaro.org>
In mmp pdma, phy channels are allocated/freed dynamically.
The mapping from DMA request to DMA channel number in DRCMR
should be cleared when a phy channel is freed. Otherwise
conflicts will happen when:
1. A is using channel 2 and free it after finished, but A
still maps to channel 2 in DRCMR of A.
2. Now another one B gets channel 2. So B maps to channel 2
too in DRCMR of B.
In the datasheet, it is described that "Do not map two active
requests to the same channel since it produces unpredictable
results" and we can observe that during test.
Signed-off-by: Xiang Wang <wangx@marvell.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
In mmp pdma, phy channels are allocated/freed dynamically
and frequently. But no proper protection is added.
Conflict will happen when multi-users are requesting phy
channels at the same time. Use spinlock to protect.
Signed-off-by: Xiang Wang <wangx@marvell.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Andy has done enough work on Synopsys Designware DMA Controller and I believe he
should Co-Maintain this driver along with me. So this patch.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
To obey a usual practice let's return DMA_PAUSED status only if
dma_cookie_status returned DMA_IN_PROGRESS.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
There is no point to go throught the rest of the function if first call to
dma_cookie_status() returned DMA_SUCCESS.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
In the PC world is quite possible that devices are sharing the same interrupt
line. The patch prepares dw_dmac driver to such cases.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
In general ~0 does not fit some integer types. Let's do a helper to make a
comparison with that constant properly.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
In rare cases (mostly for the testing purposes) the dw_dmac driver might be
compiled as a module as well as the other LPSS device drivers (I2C, SPI,
HSUART). When udev handles the event of the devices appearing the dw_dmac
module is missing. This patch will fix that.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This patch fixes sparse warning:
drivers/dma/acpi-dma.c:76:21: sparse: cast to restricted __le32
Since everything in all ACPI tables is little-endian, by definition, the used
types in practice are uXX. Thus, we have to enforce __leXX if we want to
convert them to CPU order.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
There is no point to go throught the rest of the function if first call to
dma_cookie_status() returned DMA_SUCCESS.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
dma_set_residue() sets only residue value, so user can't rely on the returned
values of cookies. That patch standardize the behaviour.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
It's better to use generic dma_cookie_status() that allows user to get standard
possible return codes independently of the DMAC driver in charge.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Accordingly to dma_cookie_status() description locking is not required.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: linux-tegra@vger.kernel.org
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Accordingly to dma_cookie_status() description locking is not required.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Accordingly to dma_cookie_status() description locking is not required.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Accordingly to dma_cookie_status() description locking is not required.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Accordingly to dma_cookie_status() description locking is not required.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Li Yang <leoli@freescale.com>
Cc: Zhang Wei <zw@zh-kernel.org>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Accordingly to dma_cookie_status() description locking is not required.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Residue value is assigned to 0 by dma_cookie_status().
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
last_used variable is applied only once, so, let's substitute it by its value.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
last_used variable is applied only once, so, let's substitute it by its value.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
When renaming ll_poll to busy poll, I introduced a typo
in the name of the do-nothing placeholder for sk_busy_loop
and called it sk_busy_poll.
This broke compile when busy poll was not configured.
Cong Wang submitted a patch to fixed that.
This patch removes the now redundant, misspelled placeholder.
Signed-off-by: Eliezer Tamir <eliezer.tamir@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Vxlan remote list is protected by RCU and guaranteed to be non-empty.
Split out the rcu and non-rcu access to the list to fix warning
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Use of RCU here with out marked pointer and function doesn't match prototype
with sparse.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This old driver never checked for DMA mapping errors.
Causing splats with the new DMA mapping checks:
WARNING: at lib/dma-debug.c:937 check_unmap+0x47b/0x930()
skge 0000:01:09.0: DMA-API: device driver failed to check map
Add checks and unwind code.
Reported-by: poma <pomidorabelisima@gmail.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
The debounce timeout is generally quite long and the work not performance
critical so allow the scheduler to run the work anywhere rather than in
the normal per-CPU workqueue.
Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
The debounce timeout is generally quite long and the work not performance
critical so allow the scheduler to run the work anywhere rather than in
the normal per-CPU workqueue.
Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
None of the delayed work the driver schedules has particularly short delays
and it is not performance sensitive so let the scheduler run it wherever
is most efficient rather than in a per CPU workqueue by using the system
power efficient workqueue.
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
Based on system design, platform needs to detect the VBUS or ID or
both. Provide option to select this through platform data to
disable part of cable detection through palmas-usb.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Acked-by: Graeme Gregory <gg@slimlogic.co.uk>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
Add suspend/resume callbacks and support for wakeup from
suspend on USB HOST or USB Device cable insertion or removal.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Acked-by: Graeme Gregory <gg@slimlogic.co.uk>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
When integrating driver with Tegra platform, it is found that
the ID pins get detected only once after booting system and
further removal and re-insert does not detect the ID pin.
Fixing this issue with enabling interrupt on ID_GND and ID_FLOAT
always and clearing the status on LATCH register which actually
occurred.
Also if interrupt occurs with line status as zero then based on
previous status, set the cable state.
Add debug prints to display the cable state when any cable
insertion/removal happen.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Acked-by: Graeme Gregory <gg@slimlogic.co.uk>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
Remove unused member vbus_enable and set_vbus_work from palmas_usb
as these members are not used in drivers.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Acked-by: Graeme Gregory <gg@slimlogic.co.uk>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
Extcon for palma driver does not need vbus supply and hence
removing this from devicetree document/bindings.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
The driver name is extcon/extcon-palmas.c and hence renaming the
device tree binding document to extcon-palmas.txt.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
of_extcon_get_extcon_dev() uses dev_name for getting the reference
to the extcon device. If the extcon driver assigns a different
name other than dev_name, of_extcon_get_extcon_dev() wouldn't
be able to find the reference to the extcon device. Since the
client drivers of extcon-palmas would be using
of_extcon_get_extcon_dev(), removed assigning edev.name
in extcon-palmas.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
Modified dwc3-omap to receive connect and disconnect notification using
extcon framework. Also did the necessary cleanups required after
adapting to extcon framework.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Added an API of_extcon_get_extcon_dev() to be used by drivers to get
extcon device in the case of dt boot (this can be used instead of
extcon_get_extcon_dev()).
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
If the _BCL package ordering is descending, the first level
(br->levels[2]) is likely to be 0, and if the number of levels
matches the number of steps, we might confuse a returned level to
mean the index.
For example:
current_level = max_level = 100
test_level = 0
returned level = 100
In this case 100 means the level, not the index, and _BCM failed.
Still, if the _BCL package ordering is descending, the index of
level 0 is also 100, so we assume _BQC is indexed, when it's not.
This causes all _BQC calls to return bogus values causing weird
behavior from the user's perspective. For example:
xbacklight -set 10; xbacklight -set 20;
would flash to 90% and then slowly down to the desired level (20).
The solution is simple; test anything other than the first level
(e.g. 1).
[rjw: Changelog]
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>