aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* display: updates for t0 devicescodeworkx2013-02-267-62/+77
| | | | Change-Id: I028fd1a12e9dd1173aec02fea91bb192dda9d8ba
* s5c73m3: only use camera fw from system if newer than on datacodeworkx2013-02-251-1/+2
| | | | | | | | | | | | | | | if firmware versions from system and data are equal, firmware from system is used which results in a crash. <7>[ 71.566024] c0 s5c73m3_load_fw: Writing Firmware... <2>[ 71.566095] c0 kernel BUG at /android/cm-10.1/kernel/samsung/smdk4412/arch /arm/mm/dma-mapping.c:436! <1>[ 71.566145] c0 Unable to handle kernel NULL pointer dereference at virtual address 00000000 use firmware from data as workaround for now. Change-Id: I4df190dee7342bc1db94de285c1ccfa1f05892e8
* s5c73m3: print s_ctrl and g_ctrl valuescodeworkx2013-02-231-1/+4
| | | | Change-Id: I6528dbc927af129510df9e5857acb1177f5ed0d7
* s3cfb: disable spamcodeworkx2013-02-232-2/+2
| | | | Change-Id: If4e3b7a2ded1dbe4e9940fc8d2ff45b80093d8ac
* mali: update to r3p1-01rel1codeworkx2013-02-23151-2385/+2113
| | | | Change-Id: I38a5488af2f2a64e2851826cdbc475ef5727c965
* Merge "bcmdhd: update from jb update 7" into cm-10.1Daniel Hillenbrand2013-02-15127-10924/+20789
|\
| * bcmdhd: update from jb update 7codeworkx2013-02-02127-10924/+20789
| | | | | | | | Change-Id: I360e95d0616631fbdf67c35abdded88f62af3fa9
* | i9305: add defconfigcodeworkx2013-02-081-0/+3312
|/ | | | Change-Id: Ifb6bb906f41318dfee214f27bfa23d7e02ba787a
* t0ltecdma: remove ifdef from bt lpmsbrissen2013-01-301-2/+2
| | | | | | On further testing this is not killing our modem Change-Id: I5c7f2b7da0219c6879fa5c6d6eb23a5f15e20b96
* i9300: add NFS supportnetchip2013-01-231-14/+24
| | | | | | This is needed for using NFS, without this patch it won't work. Change-Id: Id397d7315ff974f1e855804bbcfdbb0f0ac2718a
* Merge "mdm: Update mdm" into cm-10.1Daniel Hillenbrand2013-01-215-8/+122
|\
| * mdm: Update mdmCurtis Menard2013-01-215-8/+122
| | | | | | | | | | | | | | | | | | This update produces less wakelocs for mdm_hsic. It also allows building without CONFIG_USB_ANDROID_SAMSUNG_COMPOSITE. USB tethering works well this way on t0lte. Patch Set 1: Fixed typo in defconfig that was breaking the build Signed-off-by: Curtis Menard <curtis.menard@gmail.com> Change-Id: Id602ea291093a8cebbcd5ab7f7687364fab0d029
* | Sensorhub: Update sensors and firmwareSamsung OSRC2013-01-2019-8612/+8932
|/ | | | | | | From Samsung SPH-L900 update source. Change-Id: Ib1dcf851ce5e723661169d7cb4ee8bc8ff647226 Signed-off-by: Curtis Menard <curtis.menard@gmail.com>
* t0lte: add wake_peer and bcm header backcodeworkx2013-01-202-2/+3
| | | | Change-Id: Id2935767a5aa83b75d19963ad538fa8623160852
* t0lte: disable samsung mtpcodeworkx2013-01-181-1/+1
| | | | Change-Id: I43565a19e3eb701d8dd60eca230746d041719f75
* use VZW defconfig as common T0LTE cdma defconfigsbrissen2013-01-182-3306/+0
| | | | Change-Id: I2d5d2d3d474ddb6adc25c5c9a0a673033eb457b8
* t0lte: support for galaxy note 2 ltecodeworkx2013-01-178-11/+9940
| | | | Change-Id: I9ac93ae5b0746c4b8af0a430180b309638935c49
* configs: i9300, n7100, n80xx: enable uhidHumberto Borba2013-01-124-0/+4
| | | | | Signed-off-by: Humberto Borba <humberos@gmail.com> Change-Id: I882bd8d77f3beb1a494375ce022dbb43846b64db
* HID: uhid: Fix sending events with invalid dataVinicius Costa Gomes2013-01-121-1/+1
| | | | | | | | | | | | This was detected because events with invalid types were arriving to userspace. The code before this patch would only work for the first event in the queue (when uhid->tail is 0). Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@openbossa.org> Reviewed-by: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: uhid: silence gcc warningJiri Kosina2013-01-121-1/+1
| | | | | | | | | | | | | | | | gcc is giving me: drivers/hid/uhid.c: In function ‘uhid_hid_get_raw’: drivers/hid/uhid.c:157: warning: ‘len’ may be used uninitialized in this function which is clearly bogus, as - when used as memcpy() argument, it's initialized properly - the code is structured in a way that either 'ret' or 'len' is always initialized, so the return statement always has an initialized value. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: uhid: add example programDavid Herrmann2013-01-122-0/+391
| | | | | | | | | | | | | This adds an example user-space program that emulates a 3 button mouse with wheel. It detects keyboard presses and moves the mouse accordingly. It register a fake HID device to feed the raw HID reports into the kernel. In this example, you could use uinput to get the same result, but this shows how to get the same behavior with uhid so you don't need HID parsers in user-space. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: uhid: add documentationDavid Herrmann2013-01-121-0/+169
| | | | | | | | | This describes the protocol used by uhid for user-space applications. It describes the details like non-blocking I/O and readv/writev for multiple events per syscall. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: uhid: implement feature requestsDavid Herrmann2013-01-122-1/+136
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* HID: uhid: forward raw output reports to user-spaceDavid Herrmann2013-01-122-1/+47
| | | | | | | | | | | | | | | | | 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>
* HID: uhid: forward output request to user-spaceDavid Herrmann2013-01-122-0/+26
| | | | | | | | | 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>
* HID: uhid: forward open/close events to user-spaceDavid Herrmann2013-01-122-1/+8
| | | | | | | | | | | 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>
* HID: uhid: add UHID_START and UHID_STOP eventsDavid Herrmann2013-01-122-1/+9
| | | | | | | | | | | We send UHID_START and UHID_STOP events to user-space when the HID core starts/stops the device. This notifies user-space about driver readiness and data-I/O can start now. This directly forwards the callbacks from hid-core to user-space. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: uhid: forward hid report-descriptor to hid coreDavid Herrmann2013-01-121-1/+3
| | | | | | | | When the uhid_hid_parse callback is called we simply forward it to hid_parse_report() with the data that we got in the UHID_CREATE event. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: uhid: allow feeding input data into uhid devicesDavid Herrmann2013-01-122-0/+23
| | | | | | | | | | | | This adds a new event type UHID_INPUT which allows user-space to feed raw HID reports into the HID subsystem. We copy the data into kernel memory and directly feed it into the HID core. There is no error handling of the events couldn't be parsed so user-space should consider all events successfull unless read() returns an error. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: uhid: add UHID_CREATE and UHID_DESTROY eventsDavid Herrmann2013-01-122-1/+164
| | | | | | | | | | | | | UHID_CREATE and UHID_DESTROY are used to create and destroy a device on an open uhid char-device. Internally, we allocate and register an HID device with the HID core and immediately start the device. From now on events may be received or sent to the device. The UHID_CREATE event has a payload similar to the data used by Bluetooth-HIDP when creating a new connection. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: uhid: implement write() on uhid devicesDavid Herrmann2013-01-121-1/+30
| | | | | | | | | | | | Similar to read() you can only write() a single event with one call to an uhid device. To write multiple events use writev() which is supported by uhid. We currently always return -EOPNOTSUPP but other events will be added in later patches. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: uhid: implement read() on uhid devicesDavid Herrmann2013-01-121-1/+45
| | | | | | | | | | | | | | | | | User-space can use read() to get a single event from uhid devices. read() does never return multiple events. This allows us to extend the event structure and still keep backwards compatibility. If user-space wants to get multiple events in one syscall, they should use the readv()/writev() syscalls which are supported by uhid. This introduces a new lock which helps us synchronizing simultaneous reads from user-space. We also correctly return -EINVAL/-EFAULT only on errors and retry the read() when some other thread captured the event faster than we did. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: uhid: allow poll()'ing on uhid devicesDavid Herrmann2013-01-121-0/+7
| | | | | | | | | | | | | | | | As long as the internal buffer is not empty, we return POLLIN to user-space. uhid->head and uhid->tail are no atomics so the comparison may return inexact results. However, this doesn't matter here as user-space would need to poll() in two threads simultaneously to trigger this. And in this case it doesn't matter if a cached result is returned or the exact new result as user-space does not know which thread returns first from poll() and the following read(). So it is safe to compare the values without locking. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: uhid: add internal message bufferDavid Herrmann2013-01-123-0/+99
| | | | | | | | | | | | | | | | | | | | | | | When receiving messages from the HID subsystem, we need to process them and store them in an internal buffer so user-space can read() on the char device to retrieve the messages. This adds a static buffer for 32 messages to each uhid device. Each message is dynamically allocated so the uhid_device structure does not get too big. uhid_queue() adds a message to the buffer. If the buffer is full, the message is discarded. uhid_queue_event() is an helper for messages without payload. This also adds a public header: uhid.h. It contains the declarations for the user-space API. It is built around "struct uhid_event" which contains a type field which specifies the event type and each event can then add a variable-length payload. For now, there is only a dummy event but later patches will add new event types and payloads. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: uhid: introduce user-space I/O driver support for HIDDavid Herrmann2013-01-123-0/+110
| | | | | | | | | | | | This adds a dummy driver that will support user-space I/O drivers for the HID subsystem. This allows to write transport-level drivers like USB-HID and Bluetooth-HID in user-space. Low-Energy Bluetooth needs this to feed HID data that is parsed in user-space back into the kernel. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* i9300, n7100, n80xx: enable sysfs vsync notificationscodeworkx2013-01-094-0/+8
| | | | Change-Id: Iba408423510aeaf8e27eff2490100978c0a9e757
* s3cfb: Notify userspace of vsync using sysfs, make uevents optionalAndrew Dodd2013-01-092-0/+41
| | | | Change-Id: I6fe8de47961d5c0ba73eb45543a675b6fd4344a4
* Update to the exynos-mem security issue from Samsung I9300 Update7Espen Fjellvær Olsen2013-01-0918-21/+685
| | | | | | p2: includes the secmem changes as well as Andreis MFC addition as well Change-Id: I144c2b42586f07b737fba09742315683cbab36ef
* Revert "exynos-mem: Fix major security hole"Espen Fjellvær Olsen2013-01-094-103/+1
| | | | This reverts commit 9c1d0f487d28417858778d094f2eb98eb47ea2f7.
* Revert "exynos-mem: Add fimc1 to mmap whitelist check"Espen Fjellvær Olsen2013-01-091-3/+8
| | | | This reverts commit eaa468eae8c9d87e4c83b30d977e744b3e373613.
* Merge "Add ION to exynos-mem whitelist, needed for n80xx camera" into cm-10.1Espen Fjellvær Olsen2013-01-081-0/+5
|\
| * Add ION to exynos-mem whitelist, needed for n80xx cameraEspen Fjellvær Olsen2013-01-081-0/+5
| | | | | | | | Change-Id: Ib2fc55ef60e655ffc5da947c114e90ddddf666c4
* | mmc: Soft-patch MoviNAND VTU00M (16GB) eMMC failureSamsung OSRC2013-01-084-0/+239
|/ | | | Signed-off-by: Andrei F <luxneb@gmail.com>
* n7100: CONFIG_USE_FIMC_CMAnebkat2012-12-311-1/+1
| | | | Change-Id: I83e1c08d06ae5f749f70c11993218968fe9b09bf
* exynos-mem: Add fimc1 to mmap whitelist checkAndrei F2012-12-201-8/+2
| | | | | | | | | | | | | | | | The assumption that only devices which use CONFIG_CMA_DMA use exynos-mem is wrong. Remove that check. Newer camera libraries as on Note 2 4.1.2 variants also map fimc directly, but they are not reserved through kernel CMA allocation in the device file but through Samsung's S5P framework. There, the block is called "fimc1", so add that to the whitelist check. Change-Id: Ib35e9d1c29e977774265f1e123a7ef13353485ad Conflicts: drivers/char/exynos_mem.c
* exynos-mem: Fix major security holeAndrei F2012-12-204-1/+99
| | | | | | | | | | | | | | | This fixes the exynos-mem device security hole. The driver allowed any user to access all of the device's lowmem through the provided mmap functionality. We create a small little framework collecting the actual CMA memory blocks that exist on the device; they are the root cause of the existence of this device driver. We white-list only the CMA memory spaces as parameters to the mmap function and deny access to any other memory space requests. We furthermore just allow access to the "s3c-fimc" memory block as this is seemingly the only space which upon access denial actually breaks functionality. Change-Id: I286be4a2546621c66d214c79f480822ecd8138db
* mem: fix permissions on exynos-memcodeworkx2012-12-161-2/+1
| | | | Change-Id: Ibf2312ce36952c28baa5476a5a856edde8d84de5
* Merge "smdk4412: s3cfb_s6e8ax0: Stop fb shitstorm in kmsg" into mr1-stagingXpLoDWilD2012-12-121-1/+1
|\
| * smdk4412: s3cfb_s6e8ax0: Stop fb shitstorm in kmsgXpLoDWilD2012-12-121-1/+1
| | | | | | | | Change-Id: I09ae567b2397275ea021f5fc1b66fc4ac09d9021
* | bluetooth-bcm4334: Make LPM behave like 4330 implementationAndrew Dodd2012-12-113-60/+39
|/ | | | | | | | | | We know the 4330 implementation works on galaxys2-common We don't have an nRST line so remove that. Main other difference is we use the UART LPM stuff based on mach-u1 Change-Id: Ie953b0fa8c47ca1ebf58ef9eaa5a03265b449071