Commit Graph

29593 Commits

Author SHA1 Message Date
Joel Nider
adec35c3d6 tspp: add kernel api for video demux component
The demux is an in-kernel software component whose purpose is to take
an incoming TSIF stream and split it into multiple output channels
based on the PID field in each TS packet. Each output channel can be
used for a different purpose, such as audio, video or channel
information. In order to get good performance when moving such large
data streams around, the demux was placed in kernel-space as to
prevent copying memory buffers between kernel-space and user-space, at
least at this early stage in processing the traffic. Originally the
design of the TSPP driver was based on the earlier TSIF driver, so it
contained only a user-space API.

Signed-off-by: Joel Nider <jnider@codeaurora.org>
(cherry picked from commit 435ad8e2157eec5783a435f1e7ec47f67d759882)

Change-Id: I0dadf04ec2694c82fc8378fbed5fbf81fc889337
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:19:31 -08:00
Amy Maloche
751fecf8da leds: leds-pm8xxx: Add CABC support for backlight control
Content adaptive backlight control (CABC) support is needed to
control backlight by external PWM.  It can be enabled by setting
"cabc_en = true" in the platform data wled_cfg structure.

CRs-fixed: 379347

Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
(cherry picked from commit c366d5bfc380183e1c4f9877b2c8558098bd4281)

Change-Id: Iae7940d25d8754ab539d5ce1fa3f78972b5222d1
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:19:23 -08:00
Steve Muckle
554d14f7df topology: enable SD_SHARE_PKG_RESOURCES at CPU level.
Enabling this feature will allow the use of
PF_WAKE_ON_IDLE, a per task flag that causes that task,
or tasks woken by that task, to wake on an idle CPU if
there is one available. Note that due to the PF_WAKE_ON_IDLE
feature this will not cause a change in behavior for tasks
that do not have the PF_WAKE_ON_IDLE flag set.

Signed-off-by: Steve Muckle <smuckle@codeaurora.org>
(cherry picked from commit dc6384ce8b9185fc354df3c5622a463da0b60044)

Change-Id: I25963ef54ac3b8f863e2787901f3acb6e4cd2c0d
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:19:15 -08:00
Praneeth Paladugu
f02f6d59dc v4l2: Adds support for codec config
Adds support for codec config flag to be passed
to driver. This flag indicates that the buffer
associated contains codec specific data.

Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
(cherry picked from commit f4bd6a3fbdb5d70b7000cdceb811557876bb7953)

Change-Id: Ib832872717adbc46bd186aa268eaa9cfa402313b
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:19:08 -08:00
Ken Zhang
2284c6b380 video: msm: Add logical display id for post processing
Define logical id for display backend processing.
These ids are independent with hw implementation, could be used
for MDP4, MDP5 and future ASICs. Kernel driver implementation will
also be abstracted to the post processing user.

Signed-off-by: Ken Zhang <kenz@codeaurora.org>
(cherry picked from commit 6a431631728d2d217447079dd636bd1e26d56ac4)

Change-Id: I27bd4e7d3803f4b356d924c65ac28e142375d1d5
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:19:03 -08:00
Tatyana Brokhman
1af71af874 block: Expose kblock_schedule_delayed_work()
This function is exported in blk-core.c to be used in other modules
but it's definition in h file is missing.

Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
(cherry picked from commit 87c7500d26ddddf2851bbe65190f5d8970b0346d)

Change-Id: I94a1603c345db9a92237ff6696bf29e6afbe69b7
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:19:02 -08:00
Siddartha Mohanadoss
213b8f5bce hwmon: qpnp-adc: Add PMIC 2.0 ADC bringup fixes
VADC/IADC peripheral is supported from PMIC 2.0 onwards.
Add version check to allow VADC/IADC reads if the
version is supported. Add probe defereal api for clients
who need to know if the ADC driver is ready. There is a
bug where the completion is not initialized. Fix it
by initializing it. Add support to disable the peripheral
after the ADC is read and enable it before starting a
conversion.

Add scaling functions to support reading the die temperature,
XO_THERM, batt_therm and batt_id. Add the ratiometric
calibration routine that uses the vref/gnd for calibration.
The ratiometric calibration is used for calibrating xo_therm,
batt_therm, batt_id.

Update the gain value used for calibration on the IADC
peripheral. PMIC 2.0 IADC peripheral uses 17.857mV instead
of 25mV for its gain calibration.

Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
(cherry picked from commit 5ace110e2165fba66227e18154d58b0e6cbb24b2)

Change-Id: I37b02de53ea2bed913c30261624c31a1ae57131c
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:18:54 -08:00
Siddartha Mohanadoss
ec560a9c20 hwmon: epm_adc: Add EPM support using PSOC
Add support for communicating with the PSOC
using the supported protocol commands from
the PSOC.

The support includes communicating with the
controller to initiate and start the ADC
conversion for the selected channels. Start
and receive ADC conversion for single measurement,
buffered reads, averaging the samples and returning
the results over the set averaging period.

Other commands supported include setting/receiving
the timestamp, setting reference voltage, toggling
gpio to set triggers on set events.

Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
(cherry picked from commit efddea4639f2953375fb822524fcae756ae67dc0)

Change-Id: Id519a5b9033b85953f1d6229a144f9df78910900
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:18:51 -08:00
Hemant Kumar
14585a7c95 EHCI: HSIC: Add enhancements to debug logging
This change addresses following enhancements to debug
logging:-

1) Add data payload logging which is not currently
supported. This helps to sniff first 32 bytes of data
being sent and received. Data payload logging is
enabled by default. To disable data payload logging:-

echo 0 > /sys/module/ehci_hcd/parameters/enable_payload_log

2) Current urb submission event logging does not cover
root hub submissions, hence move urb submission logging
to hcd driver.

3) Current urb submission event logging does not return
the correct status if submission fails. Hence log the
return status of urb submission.

CRs-Fixed: 393294
Change-Id: Ic7e555e1545ec7d7b0e4042cd35235e0af26fb01
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
(cherry picked from commit 4d50a43dce8645955d8ed739d7a183e62922c721)

Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:18:44 -08:00
Pavankumar Kondeti
0b23fad5ab msm: hsic: Disallow processor idle sleep while driving resume signal
HSIC controller should send SOF with in 3 msec after completing
the resume signal.  If processor is in idle sleep state, the timer
interrupt generated by HSIC controller to indicate resume completion
gets delayed.  If the interrupt handler is not run with in 3msec
after resume, the resume sequence is repeated.  Disallow processor
idle sleep to avoid multiple resume cycles.

CRs-Fixed: 397154
Change-Id: Ibc8965ad8bcd94e0b1b1d39b5b2ad8f39cf51095
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
(cherry picked from commit 4f5dc3be7b2b9939bc7a1b9526ccb70d93b53361)

Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:18:39 -08:00
Pavankumar Kondeti
fd126d6851 USB: Allow skipping device resume during system resume.
Some buses would like to keep their devices in suspend state during system
resume.  For example HSIC controller driver prevent system suspend when
HSIC device is active.  If this device is resumed, during system resume
HSIC controller acquire wake lock and prevent the subsequent suspend till
HSIC device is auto suspended.

CRs-Fixed: 403975
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
(cherry picked from commit 6f199aa800253a69e5679d1057823039f1bd65c9)

Change-Id: Ic8ab631ec1f15685cc35823aa7c57d699738d5fc
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:18:22 -08:00
Asish Bhattacharya
b9d5cf5f7a mfd: pm8xxx-spk: Fix settings for the class D audio amplifier
Test results based on noise gate recommended the following settings

0x254=0xC8 (Threshold=110, preamp bias=01)
0x255=0xC1 (Hold=110, max attn=0000, mute=1)
0x256=0xB0 (decay=101, attack=10, delay=0)

CRs-Fixed: 385187
Change-Id: I7276a6d0689ffb475aa8c58214fd2b00fe62f81c
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
(cherry picked from commit 59442e223dcd616d7a244c85d8e0acccf4df9651)
2013-03-07 15:17:51 -08:00
Pavankumar Kondeti
1f98b2440e USB: msm_otg: Fix data contact detection issue
Data contact detection (DCD) involves applying small amount of current on
D+ and waiting for it to go low.  The D+ is pulled to low when the data
pins get contacted with the other device data pins.

The current code does not disable D+ pull-down resistor during DCD. If this
resistor is not disabled, the current applied on D+ becomes low immediately
even without connecting to any device.  Fix it.  Remove enable_dcd flag
from platform data as data contact detection is working reliably on all
targets supported by this driver.

(cherry picked from commit 768dcb817554a29b43e269e7cf77785a7f960754)

Change-Id: Idb34508f09dc74983fd2b55bd11f4073ec354e2f
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
2013-03-07 15:17:50 -08:00
Shobhit Pandey
326157392f msm:vidc: Add the support for MPEG-2 extension and user data
Support is added for MPEG-2 extension and user data. With this
changes Core returns extension and user data as an extradata.

Change-Id: I66a230aa651dabafa883625ce9f687d5c35b8671
Signed-off-by: Shobhit Pandey <cshopan@codeaurora.org>
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
2013-03-07 15:17:44 -08:00
Jeff Johnson
0b16187d38 wcnss: Notify Kernel suspend/resume to WCNSS
Notify WCNSS when the Kernel is suspended and also when it resumes.

Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
Signed-off-by: Jeff Johnson <jjohnson@codeaurora.org>
2013-03-04 12:48:20 -08:00
Iliyan Malchev
bbb8d938a1 backlight: lm3530: add default brightness to pdata
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:48:07 -08:00
choongryeol.lee
cf0acb5176 power: pm8921-bms: use fixed ibat_avg instead of shutdown ibat_avg
Using stored average ibat(shutdown ibat_avg) which came from
previous boot sometimes cause SoC sudden drop in boot up time.
So this patch use fixed ibat_avg value instead of shutdown ibat_avg
during 1st SoC calculation.

Change-Id: I9675652c3b4918529be40a8d6f8ee29b6dee1359
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:48:03 -08:00
Ajay Dudani
1e6aefcbc4 sync: refactor sync debug printing
Move driver callbacks to fill strings instead of using seq_files.  This
will allow those values to be used in a future tracepoint patch.

Change-Id: I9b706343e35b11124141fe520e520514a32003d2
Signed-off-by: Erik Gilling <konkers@android.com>
2013-03-04 12:47:43 -08:00
SathishKumar Mani
b502df8c7c ASoC: wcd9310: force slimbus ports to disconnect during error cases
With shared data channel architecture, SLIMBUS driver
only removes slimbus channel when all clients vote to
have channel removed. In case of subsystem restart,
client such as MDM can go down without withdrawing
vote. During CODEC path shutdown, CODEC driver will
receive slimbus slave interrupt in time indicating
port disconnection because slimbus channel has not
be been voted off. Then, CODEC driver blindly
shutdown rest of CODEC path. This results in
overflow error on Rx path and underflow error on
Tx path. In case of time out waiting for port disconnect
interrupts to arrive, force ports to disconnect

Signed-off-by: SathishKumar Mani <smani@codeaurora.org>
BUG-ID: 7313016
2013-03-04 12:47:36 -08:00
Dima Zavin
e60b38622e input: keyreset: add support for reset after timeout
If a timeout is requested, a delayed work item will be
scheduled to restart the device. If the keys are released
before the timeout expires, the reset is aborted.

As expected, the reset_fn can be used to reset the device
after the timeout.

Bug: 7344361
Change-Id: I1d77cdb3dcc63f579b1250506f0a30de1e033d67
Signed-off-by: Dima Zavin <dima@android.com>
2013-03-04 12:47:30 -08:00
choongryeol.lee
6d5eafbcdf power: pm8921-bms: support wireless charger bms
Since WLC(wireless charger) supply power to battery without PM8921 charger,
the SoC value is not accurate. This patch adjust OCV(open circuit voltage)
and max CV(constant voltage) value to compensate difference between
WLC and pm8921-charger.

Change-Id: I8fa368f706866d93451c2f663da69c010f9b2a35
2013-03-04 12:47:20 -08:00
choongryeol.lee
9309bccb81 mfd: pm8xxx: provide api to read restart reason
The BMS driver needs to know the restart reason of the pmic. Add
an api in the pm8xxx design to provide the restart reason.

Change-Id: I0bbad22c5fed8c32dd7de387194e94c8d4b9ad75
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2013-03-04 12:47:18 -08:00
Naseer Ahmed
8b804aaf0b msm: display: buf sync enhancement
Support waiting for acquire fences in the buffer sync ioctl.

Signed-off-by: Ken Zhang <kenz@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2013-03-04 12:46:51 -08:00
Naseer Ahmed
504021da52 msm: display: add display commit ioctl
Display commit ioctl will do what pan_display
can do, addtionally has customized setting, such
as non-blocking call.

Signed-off-by: Ken Zhang <kenz@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2013-03-04 12:46:50 -08:00
Deva Ramasubramanian
5b896d7477 msm: vidc: Allow client to request sps/pps per IDR frame
Expose SET_SPS_PPS_FOR_IDR to allow client request sps/pper per IDR
frame.

Change-Id: I0316d751bd1e0b412972cba9d4d59b142500a51d
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
2013-03-04 12:46:39 -08:00
Saurabh Shah
736cf9db3b msm_fb: display: Add MSMFB_OVERLAY_COMMIT ioctl.
MSMFB_OVERLAY_COMMIT ioctl is used to display on external.
This is used instead of the default PAN mechanism to avoid delays in that path.
This ioctl for external also waits for DMAE thus fixing tearing.

Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Arun Kumar K.R <akumarkr@codeaurora.org>
2013-03-04 12:46:38 -08:00
Ajay Dudani
0b7283e0de USB: gadget: f_accessory: Add support for HID input devices
Signed-off-by: Mike Lockwood <lockwood@google.com>
Change-Id: I4f5722bfa26a0d73419c54709b2f1672491bf56a
2013-03-04 12:46:35 -08:00
Ajay Dudani
c0230fd35b Add ACCESSORY_SET_AUDIO_MODE control request and ioctl
The control request will be used by the host to enable/disable USB audio
and the ioctl will be used by userspace to read the audio mode

Signed-off-by: Mike Lockwood <lockwood@google.com>
Change-Id: I48082ce473eb6577b0bf613be9ec27f2f5c19384
2013-03-04 12:46:34 -08:00
agathon.jung
613e3b6f4c msm: mdm: Add shutdown ioctl and send poweroff request to the mdm
When the whole phone is being powered off, a poweroff request needs
to be sent to the external modem so that it can shutdown gracefully.
This request needs to be triggered from userspace before kernel drivers
start unloading so that other drivers needed to send the request are
still available. The shutdown ioctl is provided for this purpose.
The request is sent over system monitor.

Crs-Fixed: 401598
Signed-off-by: Joel King <joelking@codeaurora.org>
2013-03-04 12:46:28 -08:00
choongryeol.lee
0338875786 power: pm8921-charger: prevent recharging when batt is overheat
When battery is forced to stop charging by overheat, re-charging
should not be initiated even if re-charging condition is satisfied.

Change-Id: I0070039a186ccf3f12c0e79a8696a7aa3c61e538
2013-03-04 12:46:23 -08:00
jh.koo
cbff6e7a0c slimport: Modify to support slimport-to-VGA and slimport-to-DP dongles
Change-Id: I4bbe996351d50bfa2a4073987c97db37a4ed3484
2013-03-04 12:46:21 -08:00
Kinjal Bhavsar
70f7421a80 msm: display: Buffer sync point support
Add MSMFB_BUFFER_SYNC ioctl for the communication of
the acquired and released fence fd between kernel and hwc.

Wait for acquired fence before pan display.
Release the previous released fence after pan display

Change-Id: I6534aed574a025d948581e70465f06a86b46c868
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
2013-03-04 12:46:14 -08:00
Jeff Boody
855ae3da46 msm: kgsl: Add support for Android's sync point framework
The Android sync point framework will replace the synchronization
previously implemented by genlock. This change implements the KGSL
component of the sync point framework by creating a fence that is
automatically signaled by KGSL when it's timestamp expires. The
fence FD is returned to the user driver so that another process
can wait for the sync point.

Change-Id: Ifee38dfde00e551f3524f7a37833938dcdb64905
Signed-off-by: Jeff Boody <jboody@codeaurora.org>
2013-03-04 12:46:04 -08:00
kyungtae.oh
5a934bae83 power: cleanup the messages of wireless charger
Change-Id: Ie86b46cb9f30fd2e795a144123eec0282ac6e664
2013-03-04 12:45:59 -08:00
Devin Kim
be65d0bafa android_vibrator: warmup delay for vibration sensitivity
add warmup delay before vibrator off

Change-Id: Ie6dd325cc6c6b0f6d4501414442472cd40beb4df
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:45:54 -08:00
Ajay Dudani
e8cbb4da04 EHCI: HSIC: Pass interrupt threshold value as platform data
Interrupt threshold value is the maximum rate at which HSIC
controller will issue interrupts to processor. Increasing
this value results in fewer interrupts which may save power
as processor has to handle fewer interrupts. Side effect of
increasing this value is higher data latency. For fusion3,
set the ITC(interrupt threshold control) to 5 and default
for other targets. Also, allow ehci stack to set ITC value
per controller basis.

CRs-Fixed: 374661
Change-Id: I0e6bc210679ef211c2850ffbe1dfc80da2f65bf0
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
2013-03-04 12:45:50 -08:00
Devin Kim
217b182a49 switch: fsa8008: control uart console
Add the function to control uart console

Change-Id: I932a4c4e5017ded30400b0f7dafbdb365713482b
2013-03-04 12:45:46 -08:00
Ajay Dudani
d064955d29 sync: change wait timeout to mirror poll semantics
Change-Id: Ib38e6d339d41885a33027752690d65a52b6897f6
Signed-off-by: Erik Gilling <konkers@android.com>
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
2013-03-04 12:45:41 -08:00
Ajay Dudani
863f04856c sync: add reference counting to timelines
If a timeline is destroyed while fences still hold pts on it, the reworked
fence release handler can cause the timeline to be freed before all it's points
are freed.

Change-Id: I1cd8ddb638eded7db9db446ff6b37f3dd165d6c4
Signed-off-by: Erik Gilling <konkers@android.com>
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
2013-03-04 12:45:40 -08:00
Ajay Dudani
29b442f3ce sync: add internal refcounting to fences
If a fence is released while a timeline that one of it's pts is on is being
signaled, it is possible for that fence to be deleted before it is signaled.
This patch adds a refcount for internal references such as signaled pt
processing.

Change-Id: Ie8605e6fd2ac026c207220a03d84e1c1078ec719
Signed-off-by: Erik Gilling <konkers@android.com>
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
2013-03-04 12:45:39 -08:00
choongryeol.lee
a81a841921 power: pm8921-charger: use SoC % value for charging stop and resume
Current pm8921 charger code doesn't consider the SoC % to determine
end of charging and recharging state. This can cause weird UI display
on SoC % and charging state.
For example, charging is completed when SoC % is not reached 100% or
charging is not completed even if SoC % is already 100%.
So this patch change how to determine end of charging and recharging.

Change-Id: Ice658488744d71117fedb64e0fa0eb7ad34c6573
2013-03-04 12:45:35 -08:00
jh.koo
6ff2586036 slimport: Add slimport detection function
It will be used for charger detection codes. slimport is also used
as charger like as usb charger

Change-Id: Idd40dd88b8a5f035dfb207dd787d7fd3f4ae713b
2013-03-04 12:45:23 -08:00
Jongrak Kwon
6ea1f6f413 mako: touch: error checking for firmware update
Corrected not working touch problem when the firmware update was failed or
LCD was turned on or off during firmware update.

Change-Id: Ib61c3d9927d670eb4091253efc71499b88b51b9f
2013-03-04 12:45:19 -08:00
Jongrak Kwon
282302c825 mako: touch: add sys node for charger status update
Will be used to enable noise mitigation bit in firmware
to reduce noise when TA/USA/Wireless charger is connected.

Change-Id: Ia4174271758ca2dbd013b80ddcabffea2e2cae82
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:45:18 -08:00
Devin Kim
4d9eedfb17 switch: fsa8008: fix to detect earjack during deep sleep
When resuming device, If there is changed the detect state,
then update the detect state.

Change-Id: I9f5fa06e3c82a51768d9e805127526a84f0df65f
2013-03-04 12:45:14 -08:00
Devin Kim
7e45a10da4 backlight: lm3530: add the backlight map in platform data
Add the backlight map into platform data for calibrating
by the board specific values

Change-Id: Ib997a8cbf738b2700305028f47178f31420f9e85
2013-03-04 12:45:13 -08:00
David Herrmann
4bc92c0070 HID: uhid: implement feature requests
HID standard allows sending a feature request to the device which is
answered by an HID report. uhid implements this by sending a UHID_FEATURE
event to user-space which then must answer with UHID_FEATURE_ANSWER. If it
doesn't do this in a timely manner, the request is discarded silently.

We serialize the feature requests, that is, there is always only a single
active feature-request sent to user-space, other requests have to wait.
HIDP and USB-HID do it the same way.

Because we discard feature-requests silently, we must make sure to match
a response to the corresponding request. We use sequence-IDs for this so
user-space must copy the ID from the request into the answer.
Feature-answers are ignored if they do not contain the same ID as the
currently pending feature request.

Internally, we must make sure that feature-requests are synchronized with
UHID_DESTROY and close() events. We must not dead-lock when closing the
HID device, either, so we have to use separate locks.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2013-03-04 12:45:08 -08:00
David Herrmann
5b0581f6e2 HID: uhid: forward raw output reports to user-space
Some drivers that use non-standard HID features require raw output reports
sent to the device. We now forward these requests directly to user-space
so the transport-level driver can correctly send it to the device or
handle it correspondingly.

There is no way to signal back whether the transmission was successful,
moreover, there might be lots of messages coming out from the driver
flushing the output-queue. However, there is currently no driver that
causes this so we are safe. If some drivers need to transmit lots of data
this way, we need a method to synchronize this and can implement another
UHID_OUTPUT_SYNC event.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2013-03-04 12:45:08 -08:00
David Herrmann
2cff1bf905 HID: uhid: forward output request to user-space
If the hid-driver wants to send standardized data to the device it uses a
linux input_event. We forward this to the user-space transport-level
driver so they can perform the requested action on the device.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2013-03-04 12:45:07 -08:00
David Herrmann
d42565627f HID: uhid: forward open/close events to user-space
HID core notifies us with *_open/*_close callbacks when there is an actual
user of our device. We forward these to user-space so they can react on
this. This allows user-space to skip I/O unless they receive an OPEN
event. When they receive a CLOSE event they can stop I/O again to save
energy.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2013-03-04 12:45:07 -08:00