OSDN Git Service

android-x86/kernel.git
14 years agousb: gadget: f_mass_storage: Handle setup request correctly
James Luan [Fri, 4 Sep 2009 00:47:58 +0000 (19:47 -0500)]
usb: gadget: f_mass_storage: Handle setup request correctly

Signed-off-by: Mike Lockwood <lockwood@android.com>
14 years agodrivers: apanic: Android kernel panic handler.
San Mehat [Tue, 1 Sep 2009 20:43:01 +0000 (13:43 -0700)]
drivers: apanic: Android kernel panic handler.

This driver triggers when the kernel panics and attempts to
write critical debug data to the flash.

Signed-off-by: San Mehat <san@google.com>
drivers: apanic: checkpatch fixes

Signed-off-by: San Mehat <san@google.com>
14 years agolib/genalloc.c: remove unmatched write_lock() in gen_pool_destroy
Zygo Blaxell [Wed, 17 Jun 2009 05:33:57 +0000 (22:33 -0700)]
lib/genalloc.c: remove unmatched write_lock() in gen_pool_destroy

There is a call to write_lock() in gen_pool_destroy which is not balanced
by any corresponding write_unlock().  This causes problems with preemption
because the preemption-disable counter is incremented in the write_lock()
call, but never decremented by any call to write_unlock().  This bug is
gen_pool_destroy, and one of them is non-x86 arch-specific code.

Signed-off-by: Zygo Blaxell <zygo.blaxell@xandros.com>
Cc: Jiri Kosina <trivial@kernel.org>
Cc: Steve Wise <swise@opengridcomputing.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14 years agousb: gadget: mass_storage: Fix Mass Storage Panic during PC reboot
Jared Suttles [Fri, 28 Aug 2009 21:53:32 +0000 (16:53 -0500)]
usb: gadget: mass_storage: Fix Mass Storage Panic during PC reboot

Submitted on behalf of RaviKumar Vembu <ravi.v@motorola.com>
Signed-off-by: Jared Suttles <jared.suttles@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
14 years agopower: wakelocks: fix buffer overflow in print_wake_locks
Erik Gilling [Wed, 26 Aug 2009 03:09:12 +0000 (20:09 -0700)]
power: wakelocks: fix buffer overflow in print_wake_locks

Change-Id: Ic944e3b3d3bc53eddc6fd0963565fd072cac373c
Signed-off-by: Erik Gilling <konkers@android.com>
14 years agopower: Prevent spinlock recursion when wake_unlock() is called
Mike Chan [Wed, 26 Aug 2009 01:10:32 +0000 (18:10 -0700)]
power: Prevent spinlock recursion when wake_unlock() is called

Signed-off-by: Mike Chan <mike@android.com>
14 years ago[ARM] process: Add display of memory around registers when displaying regs.
San Mehat [Tue, 25 Aug 2009 23:52:22 +0000 (16:52 -0700)]
[ARM] process: Add display of memory around registers when displaying regs.

This is extremely useful in diagnosing remote crashes, and is based heavily
on original work by <md@google.com>.

Signed-off-by: San Mehat <san@google.com>
Cc: Michael Davidson <md@google.com>
14 years agonet: ipv4: Fix a spinlock recursion bug in tcp_v4_nuke.
Dima Zavin [Thu, 20 Aug 2009 20:21:24 +0000 (13:21 -0700)]
net: ipv4: Fix a spinlock recursion bug in tcp_v4_nuke.

We can't hold the lock while calling to tcp_done(), so we drop
it before calling. We then have to start at the top of the chain again.

Signed-off-by: Dima Zavin <dima@android.com>
14 years agoFAT: add 'errors' mount option
Denis Karpov [Wed, 3 Jun 2009 17:34:22 +0000 (02:34 +0900)]
FAT: add 'errors' mount option

On severe errors FAT remounts itself in read-only mode. Allow to
specify FAT fs desired behavior through 'errors' mount option:
panic, continue or remount read-only.

`mount -t [fat|vfat] -o errors=[panic,remount-ro,continue] \
<bdev> <mount point>`

This is analog to ext2 fs 'errors' mount option.

Signed-off-by: Denis Karpov <ext-denis.2.karpov@nokia.com>
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
14 years agodrivers: usb: gadget: Add platform data struct for usb_mass_storage device
Mike Lockwood [Fri, 21 Aug 2009 17:33:54 +0000 (13:33 -0400)]
drivers: usb: gadget: Add platform data struct for usb_mass_storage device

Signed-off-by: Mike Lockwood <lockwood@android.com>
14 years agodrivers: usb: gadget: Use usb_mass_storage platform device as parent for lun
Mike Lockwood [Fri, 21 Aug 2009 14:54:39 +0000 (10:54 -0400)]
drivers: usb: gadget: Use usb_mass_storage platform device as parent for lun

If a platform device is specified for the f_mass_storage function, use it as the
parent driver for the lun files in sysfs.
This allows a platform independent file path for controlling USB mass storage
from user space.

Signed-off-by: Mike Lockwood <lockwood@android.com>
14 years agodrivers: usb: gadget: Add "usb_mass_storage" platform driver.
Jared Suttles [Wed, 19 Aug 2009 02:31:58 +0000 (21:31 -0500)]
drivers: usb: gadget: Add "usb_mass_storage" platform driver.

This will be used for configuring vendor, product and release from board file.

Submitted on behalf of RaviKumar Vembu <ravi.v@motorola.com>
Signed-off-by: Jared Suttles <jared.suttles@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
14 years agomtd: nand: Add naieve panic_write support for generic nand devices.
San Mehat [Thu, 20 Aug 2009 17:50:45 +0000 (10:50 -0700)]
mtd: nand: Add naieve panic_write support for generic nand devices.

Signed-off-by: San Mehat <san@google.com>
14 years ago[ARM] 5545/2: add flush_kernel_dcache_page() for ARM
Nicolas Pitre [Fri, 12 Jun 2009 02:09:29 +0000 (03:09 +0100)]
[ARM] 5545/2: add flush_kernel_dcache_page() for ARM

Without this, the default implementation is a no op which is completely
wrong with a VIVT cache, and usage of sg_copy_buffer() produces
unpredictable results.

Tested-by: Sebastian Andrzej Siewior <bigeasy@breakpoint.cc>
CC: stable@kernel.org
Signed-off-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: San Mehat <san@google.com>
14 years agommc_block: do not DMA to stack
Ben Dooks [Mon, 8 Jun 2009 22:33:57 +0000 (23:33 +0100)]
mmc_block: do not DMA to stack

In the write recovery routine, the data to get from the card
is allocated from the stack. The DMA mapping documentation says
explicitly stack memory is not mappable by any of the DMA calls.

Change to using kmalloc() to allocate the memory for the result
from the card and then free it once we've finished with the
transaction.

[ Changed to GFP_KERNEL allocation - Pierre Ossman ]

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Pierre Ossman <pierre@ossman.eu>
Signed-off-by: San Mehat <san@google.com>
14 years agommc: mmc_rescan detects card change in one run
San Mehat [Thu, 13 Aug 2009 18:23:37 +0000 (11:23 -0700)]
mmc: mmc_rescan detects card change in one run

With this patch, mmc_rescan can detect the removal of an mmc card and
the insertion of (possibly another) card in the same run. This means
that a card change can be detected without having to call
mmc_detect_change multiple times.

This change generalises the core such that it can be easily used by
hosts which provide a mechanism to detect only the presence of a card
reader cover, which has to be taken off in order to insert a card. Other
hosts ("card detect" or "MMC_CAP_NEEDS_POLL") each receive an event when
a card is removed and when a card is inserted, so it is sufficient for
them if mmc_rescan handles only one event at a time. "Cover detect"
hosts, however, only receive events about the cover status. This means
that between 2 subsequent events, both a card removal and a card
insertion can occur. In this case, the pre-patch version of mmc_rescan
would only detect the removal of the previous card but not the insertion
of the new card.

Signed-off-by: Jorg Schummer <ext-jorg.2.schummer@nokia.com>
Signed-off-by: Pierre Ossman <pierre@ossman.eu>
Signed-off-by: San Mehat <san@android.com>
Conflicts:

drivers/mmc/core/core.c

Signed-off-by: San Mehat <san@google.com>
14 years agommc: increase power up delay
José M. Fernández [Tue, 10 Mar 2009 01:21:21 +0000 (02:21 +0100)]
mmc: increase power up delay

The TI controller on Toshiba Tecra M5 needs more time to power up or
the cards will init incorrectly or not at all.

Signed-off-by: José M. Fernández <josemariafg@gmail.com>
Signed-off-by: Pierre Ossman <pierre@ossman.eu>
Signed-off-by: San Mehat <san@google.com>
14 years agommc_block: be prepared for oversized requests
Pierre Ossman [Fri, 10 Apr 2009 15:52:57 +0000 (17:52 +0200)]
mmc_block: be prepared for oversized requests

The block layer does not support very low sector count restrictions
so we need to be prepared to handle bigger requests than we can send
directly to the controller.

Problem found by Manuel Lauss.

Signed-off-by: Pierre Ossman <pierre@ossman.eu>
Signed-off-by: San Mehat <san@google.com>
14 years agommc: During unsafe resume, select the right volatge for the card
Balaji Rao [Wed, 25 Feb 2009 09:58:09 +0000 (15:28 +0530)]
mmc: During unsafe resume, select the right volatge for the card

During mmc unsafe resume, choose the right voltage for the card after
powerup.

Although this has not seen to cause trouble, it's the wrong behaviour.

Signed-off-by: Balaji Rao <balajirrao@openmoko.org>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: San Mehat <san@google.com>
14 years agommc: Add Extended CSD register to debugfs
Adrian Hunter [Wed, 11 Feb 2009 12:52:20 +0000 (14:52 +0200)]
mmc: Add Extended CSD register to debugfs

Extended CSD is a MMC card register.  As increasingly interesting
fields are being added to Extended CSD, it is helpful to see its
value.  Note that SD cards do not have an Extended CSD
register, so it is MMC only.

Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: San Mehat <san@google.com>
14 years agommc: add MODALIAS linkage for MMC/SD devices
Andy Whitcroft [Mon, 23 Feb 2009 12:38:41 +0000 (12:38 +0000)]
mmc: add MODALIAS linkage for MMC/SD devices

Currently we are using an explicit udev rule to trigger loading of the
mmc-block module when an MMC or SD card is detected:

    SUBSYSTEM=="mmc", RUN+="/sbin/modprobe -Qba mmc-block"

It makes much more sense for the mmc bus driver and the mmc-block module to
share MODALIAS information so that they are linked automatically.

There is no real information of use in the MMC system at the current time.
All devices inserted require us to load the mmc-block device.  Until such
time as useful parameters exist simply reflect the module linkage via
the module alias below:

mmc:block

Signed-off-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: San Mehat <san@google.com>
14 years agommc: delayed_work was never cancelled
Jorg Schummer [Thu, 19 Feb 2009 11:17:03 +0000 (13:17 +0200)]
mmc: delayed_work was never cancelled

The delayed work item mmc_host.detect is now cancelled before flushing
the work queue. This takes care of cases when delayed_work was scheduled
for mmc_host.detect, but not yet placed in the work queue.

Signed-off-by: Jorg Schummer <ext-jorg.2.schummer@nokia.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: San Mehat <san@google.com>
14 years agoBluetooth: Fallback from eSCO to SCO on error code 0x1a (unsupported feature).
Nick Pelly [Fri, 14 Aug 2009 18:36:19 +0000 (11:36 -0700)]
Bluetooth: Fallback from eSCO to SCO on error code 0x1a (unsupported feature).

GM carkits with LGE BT chipsets return this error code when eSCO is attempted.

Signed-off-by: Jaikumar Ganesh <jaikumar@google.com>
Acked-by: Nick Pelly <npelly@google.com>
14 years agopersonality: fix PER_CLEAR_ON_SETID
Julien Tinnes [Fri, 26 Jun 2009 18:27:40 +0000 (20:27 +0200)]
personality: fix PER_CLEAR_ON_SETID

We have found that the current PER_CLEAR_ON_SETID mask on Linux doesn't
include neither ADDR_COMPAT_LAYOUT, nor MMAP_PAGE_ZERO.

The current mask is READ_IMPLIES_EXEC|ADDR_NO_RANDOMIZE.

We believe it is important to add MMAP_PAGE_ZERO, because by using this
personality it is possible to have the first page mapped inside a
process running as setuid root.  This could be used in those scenarios:

 - Exploiting a NULL pointer dereference issue in a setuid root binary
 - Bypassing the mmap_min_addr restrictions of the Linux kernel: by
   running a setuid binary that would drop privileges before giving us
   control back (for instance by loading a user-supplied library), we
   could get the first page mapped in a process we control.  By further
   using mremap and mprotect on this mapping, we can then completely
   bypass the mmap_min_addr restrictions.

Less importantly, we believe ADDR_COMPAT_LAYOUT should also be added
since on x86 32bits it will in practice disable most of the address
space layout randomization (only the stack will remain randomized).

Signed-off-by: Julien Tinnes <jt@cr0.org>
Signed-off-by: Tavis Ormandy <taviso@sdf.lonestar.org>
Cc: stable@kernel.org
Acked-by: Christoph Hellwig <hch@infradead.org>
Acked-by: Kees Cook <kees@ubuntu.com>
Acked-by: Eugene Teo <eugene@redhat.com>
[ Shortened lines and fixed whitespace as per Christophs' suggestion ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14 years agoMake sock_sendpage() use kernel_sendpage()
Linus Torvalds [Thu, 13 Aug 2009 17:00:15 +0000 (10:00 -0700)]
Make sock_sendpage() use kernel_sendpage()

kernel_sendpage() does the proper default case handling for when the
socket doesn't have a native sendpage implementation.

Now, arguably this might be something that we could instead solve by
just specifying that all protocols should do it themselves at the
protocol level, but we really only care about the common protocols.
Does anybody really care about sendpage on something like Appletalk? Not
likely.

Acked-by: David S. Miller <davem@davemloft.net>
Cc: Julien TINNES <julien@cr0.org>
Cc: Tavis Ormandy <taviso@sdf.lonestar.org>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14 years agosecurity: use mmap_min_addr indepedently of security models
Christoph Lameter [Wed, 3 Jun 2009 20:04:31 +0000 (16:04 -0400)]
security: use mmap_min_addr indepedently of security models

This patch removes the dependency of mmap_min_addr on CONFIG_SECURITY.
It also sets a default mmap_min_addr of 4096.

mmapping of addresses below 4096 will only be possible for processes
with CAP_SYS_RAWIO.

Signed-off-by: Christoph Lameter <cl@linux-foundation.org>
Acked-by: Eric Paris <eparis@redhat.com>
Looks-ok-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: James Morris <jmorris@namei.org>
14 years agodrivers: power: Add watchdog timer to catch drivers which lockup during suspend.
San Mehat [Thu, 13 Aug 2009 16:40:42 +0000 (09:40 -0700)]
drivers: power: Add watchdog timer to catch drivers which lockup during suspend.

Rather than hard-lock the kernel, we now BUG() when a driver takes
> 3 seconds to suspend. If the underlying platform supports panic dumps,
then the data can be collected for debug.

Signed-off-by: San Mehat <san@google.com>
14 years agoUSB: gadget: android: Fix USB WHQL Certification Issues
Jared Suttles [Fri, 7 Aug 2009 23:57:49 +0000 (18:57 -0500)]
USB: gadget: android: Fix USB WHQL Certification Issues

Submitted on behalf of RaviKumar Vembu <ravi.v@motorola.com>
Signed-off-by: Jared Suttles <jared.suttles@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
14 years agoUSB: composite: Fix USB WHQL Certification Issues
Jared Suttles [Fri, 7 Aug 2009 23:57:49 +0000 (18:57 -0500)]
USB: composite: Fix USB WHQL Certification Issues

Submitted on behalf of RaviKumar Vembu <ravi.v@motorola.com>
Signed-off-by: Jared Suttles <jared.suttles@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
14 years agoBluetooth: Do not attempt to send dlci disconnect when in BT_CONFIG.
Nick Pelly [Thu, 9 Jul 2009 19:23:44 +0000 (12:23 -0700)]
Bluetooth: Do not attempt to send dlci disconnect when in BT_CONFIG.

This fixes a bug where shutdown() and close() on a rfcomm socket during ACL
connection would not cause HCI Create Connection Cancel.

Signed-off-by: Nick Pelly <npelly@google.com>
14 years agodrivers: usb: gadget: Add helper function for installing ACM gadget function.
Joe Swantek [Thu, 23 Jul 2009 01:16:06 +0000 (20:16 -0500)]
drivers: usb: gadget: Add helper function for installing ACM gadget function.

Submitted on behalf of James Luan <James.Luan@motorola.com>

Signed-off-by: Joe Swantek <joseph.swantek@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
14 years agousb: gadget: android: Add dependency on switch driver.
Mike Lockwood [Fri, 7 Aug 2009 12:09:05 +0000 (08:09 -0400)]
usb: gadget: android: Add dependency on switch driver.

Signed-off-by: Mike Lockwood <lockwood@android.com>
14 years agodrivers: usb: gadget: call switch_dev_unregister in mass storage unbind callback
Ninja Tekkaman [Fri, 7 Aug 2009 12:04:52 +0000 (08:04 -0400)]
drivers: usb: gadget: call switch_dev_unregister in mass storage unbind callback

This fixes a problem unloading the android gadget driver when built as a module

Signed-off-by: Mike Lockwood <lockwood@android.com>
14 years agodrivers: usb: gadget: handle NULL descriptors in composite config_buf
Jared Suttles [Thu, 30 Jul 2009 21:13:27 +0000 (16:13 -0500)]
drivers: usb: gadget: handle NULL descriptors in composite config_buf

This fixes a problem in enumeration after a gadget function is removed.

Submitted on behalf of RaviKumar Vembu <ravi.v@motorola.com>

Signed-off-by: Jared Suttles <jared.suttles@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
14 years agoGRO: Disable GRO on legacy netif_rx path
Herbert Xu [Thu, 26 Mar 2009 07:59:10 +0000 (00:59 -0700)]
GRO: Disable GRO on legacy netif_rx path

When I fixed the GRO crash in the legacy receive path I used
napi_complete to replace __napi_complete.  Unfortunately they're
not the same when NETPOLL is enabled, which may result in us
not calling __napi_complete at all.

What's more, we really do need to keep the __napi_complete call
within the IRQ-off section since in theory an IRQ can occur in
between and fill up the backlog to the maximum, causing us to
lock up.

Since we can't seem to find a fix that works properly right now,
this patch reverts all the GRO support from the netif_rx path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jack Veenstra <veenstra@android.com>
14 years agopmem: Make the exposed functions be noops if CONFIG_ANDROID_PMEM is not set.
Dima Zavin [Thu, 16 Jul 2009 07:18:38 +0000 (00:18 -0700)]
pmem: Make the exposed functions be noops if CONFIG_ANDROID_PMEM is not set.

Signed-off-by: Dima Zavin <dima@android.com>
14 years agopmem: Expose is_pmem_file to the in-kernel users.
Dima Zavin [Thu, 16 Jul 2009 07:16:10 +0000 (00:16 -0700)]
pmem: Expose is_pmem_file to the in-kernel users.

Signed-off-by: Dima Zavin <dima@android.com>
14 years agopmem: remove HW3D_* ioctls
Dima Zavin [Thu, 9 Jul 2009 23:37:39 +0000 (16:37 -0700)]
pmem: remove HW3D_* ioctls

Signed-off-by: Dima Zavin <dima@android.com>
14 years agoptrace: ptrace_attach: fix the usage of ->cred_exec_mutex
Oleg Nesterov [Sun, 26 Apr 2009 23:41:34 +0000 (01:41 +0200)]
ptrace: ptrace_attach: fix the usage of ->cred_exec_mutex

ptrace_attach() needs task->cred_exec_mutex, not current->cred_exec_mutex.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: Roland McGrath <roland@redhat.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
14 years agoserial_core: Add wake_peer uart operation which is called before starting UART TX...
San Mehat [Thu, 30 Jul 2009 03:21:28 +0000 (20:21 -0700)]
serial_core: Add wake_peer uart operation which is called before starting UART TX. The idea here is to provide a mechanism where we can wakeup our peer before sending data.

Signed-off-by: San Mehat <san@google.com>
14 years agommc: sdio: Claim host in sdio_reset_comm()
Dmitry Shmidt [Wed, 29 Jul 2009 17:22:03 +0000 (10:22 -0700)]
mmc: sdio: Claim host in sdio_reset_comm()

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
14 years agoRevert "mmc: mmcblk: Add new feature 'CONFIG_MMC_BLOCK_PARANOID_RESUME'"
San Mehat [Thu, 30 Jul 2009 15:27:38 +0000 (08:27 -0700)]
Revert "mmc: mmcblk: Add new feature 'CONFIG_MMC_BLOCK_PARANOID_RESUME'"

This reverts commit 5ca694dfd981a371e9b18cdd4a89c002ffaccbc5.

Conflicts:

drivers/mmc/card/Kconfig
drivers/mmc/card/block.c

Signed-off-by: San Mehat <san@google.com>
14 years agommc: card: Add MMC_BLOCK_DEFERRED_RESUME option to Kconfig
San Mehat [Thu, 30 Jul 2009 15:23:22 +0000 (08:23 -0700)]
mmc: card: Add MMC_BLOCK_DEFERRED_RESUME option to Kconfig

Signed-off-by: San Mehat <san@google.com>
14 years agommc: mmcblk: Add support for deferred SD bus resume
San Mehat [Thu, 30 Jul 2009 15:21:19 +0000 (08:21 -0700)]
mmc: mmcblk: Add support for deferred SD bus resume

Signed-off-by: San Mehat <san@google.com>
14 years agommc: core: Rework mmc_delayed_work wakelock so that the wakelock is only extended...
San Mehat [Thu, 30 Jul 2009 14:58:34 +0000 (07:58 -0700)]
mmc: core: Rework mmc_delayed_work wakelock so that the wakelock is only extended if a card is added or removed.

Signed-off-by: San Mehat <san@google.com>
14 years agommc: core: Add deferred bus resume policy.
San Mehat [Thu, 30 Jul 2009 14:55:28 +0000 (07:55 -0700)]
mmc: core: Add deferred bus resume policy.

A card driver can now specify that the underlying bus should *not*
auto-resume with the rest of the system. This is useful for reducing resume
latency as well as saving power when the card driver is not using the
bus. In the future, we'll add support for manual suspend

Signed-off-by: San Mehat <san@google.com>
14 years agoInput: gpio_event: Allow multiple input devices per gpio_event device
Arve Hjønnevåg [Fri, 24 Jul 2009 22:19:56 +0000 (15:19 -0700)]
Input: gpio_event: Allow multiple input devices per gpio_event device

This is needed to support devices that put non-keyboard buttons in
the keyboard matrix. For instance several devices put the trackball
button in the keyboard matrix. In this case BTN_MOUSE should be
reported from the same input device as REL_X/Y.

It is also useful for devices that have multiple logical keyboard in
the same matrix. The HTC dream has a menu key on the external keyboard
and another menu key on the slide-out keyboard. With a single input
device only one of these menu keys can be mapped to KEY_MENU.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
14 years agoInput: gpio_input: Fix keys with keycode 0x100-0x1ff
Arve Hjønnevåg [Wed, 15 Jul 2009 03:58:41 +0000 (20:58 -0700)]
Input: gpio_input: Fix keys with keycode 0x100-0x1ff

KEY_MAX is no longer a power of 2.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
14 years agoInput: synaptics_i2c_rmi: Add irqflags to platform data struct to pass them to driver
Rebecca Schultz Zavin [Mon, 30 Mar 2009 05:10:22 +0000 (22:10 -0700)]
Input: synaptics_i2c_rmi: Add irqflags to platform data struct to pass them to driver

Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Signed-off-by: Arve Hjønnevåg <arve@android.com>
14 years agoInput: synaptics_i2c_rmi: Send new multi touch events
Arve Hjønnevåg [Tue, 21 Jul 2009 03:11:31 +0000 (20:11 -0700)]
Input: synaptics_i2c_rmi: Send new multi touch events

Send both fingers using the new multitouch protocol in addition to
the old single finger event and second finger ABS_HAT* hack.

The new protocol does not specify how to report up events. To make
sure the user-space frameworks can generate up events, we send at
least one event where ABS_MT_TOUCH_MAJOR is zero before we stop
sending events for a finger.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
14 years agoInput: add detailed multi-touch finger data report protocol
Henrik Rydberg [Tue, 28 Apr 2009 14:47:33 +0000 (07:47 -0700)]
Input: add detailed multi-touch finger data report protocol

In order to utilize the full power of the new multi-touch devices, a
way to report detailed finger data to user space is needed. This patch
adds a multi-touch (MT) protocol which allows drivers to report details
for an arbitrary number of fingers.

The driver sends a SYN_MT_REPORT event via the input_mt_sync() function
when a complete finger has been reported.

In order to stay compatible with existing applications, the data
reported in a finger packet must not be recognized as single-touch
events. In addition, all finger data must bypass input filtering,
since subsequent events of the same type refer to different fingers.

A set of ABS_MT events with the desired properties are defined. The
events are divided into categories, to allow for partial implementation.
The minimum set consists of ABS_MT_TOUCH_MAJOR, ABS_MT_POSITION_X and
ABS_MT_POSITION_Y, which allows for multiple fingers to be tracked.
If the device supports it, the ABS_MT_WIDTH_MAJOR may be used to provide
the size of the approaching finger. Anisotropy and direction may be
specified with ABS_MT_TOUCH_MINOR, ABS_MT_WIDTH_MINOR and
ABS_MT_ORIENTATION. Devices with more granular information may specify
general shapes as blobs, i.e., as a sequence of rectangular shapes
grouped together by a ABS_MT_BLOB_ID. Finally, the ABS_MT_TOOL_TYPE
may be used to specify whether the touching tool is a finger or a pen.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: allow certain EV_ABS events to bypass all filtering
Henrik Rydberg [Tue, 28 Apr 2009 14:45:31 +0000 (07:45 -0700)]
Input: allow certain EV_ABS events to bypass all filtering

With the upcoming multi-touch interface as an example, there is
a need to make certain that all reported events actually get passed
to the event handler. This patch equips the input core with the
ability to bypass all filtering for certain EV_ABS events.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: synaptics_i2c_rmi: Add sensitivity adjust option.
Arve Hjønnevåg [Wed, 15 Jul 2009 03:51:49 +0000 (20:51 -0700)]
Input: synaptics_i2c_rmi: Add sensitivity adjust option.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
14 years agoInput: synaptics_i2c_rmi: Add support for panels with has-no-relative-data property.
Arve Hjønnevåg [Thu, 9 Jul 2009 04:32:06 +0000 (21:32 -0700)]
Input: synaptics_i2c_rmi: Add support for panels with has-no-relative-data property.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
14 years agoInput: synaptics_i2c_rmi: disable_irq -> disable_irq_nosync
Arve Hjønnevåg [Sat, 18 Apr 2009 01:25:55 +0000 (18:25 -0700)]
Input: synaptics_i2c_rmi: disable_irq -> disable_irq_nosync

Also remove duplicate swap macro

Signed-off-by: Arve Hjønnevåg <arve@android.com>
14 years agousb gadget: android: Add helper function for usb_gadget_connect and disconnect.
Mike Lockwood [Tue, 21 Jul 2009 16:41:47 +0000 (12:41 -0400)]
usb gadget: android: Add helper function for usb_gadget_connect and disconnect.

Signed-off-by: Mike Lockwood <lockwood@android.com>
14 years agonet: Force PPPoLAC and PPPoPNS to bind an interface before creating PPP channel.
Chia-chi Yeh [Thu, 9 Jul 2009 04:49:13 +0000 (12:49 +0800)]
net: Force PPPoLAC and PPPoPNS to bind an interface before creating PPP channel.

It is common to manipulate the routing table after configuring PPP device.
Since both PPPoLAC and PPPoPNS run over IP, care must be taken to make sure
that there is no loop in the routing table.
Although this can be done by adding a host route, it might still cause
problems when the interface is down for some reason.

To solve this, this patch forces both drivers to bind an interface before
creating PPP channel, so the system will not re-route the tunneling sockets
to another interface when the original one is down. Another benefit is that
now the host route is no longer required, so there is no need to remove it
when PPP channel is closed.

Signed-off-by: Chia-chi Yeh <chiachi@android.com>
14 years agonet: Replace AID_NET_RAW checks with capable(CAP_NET_RAW).
Chia-chi Yeh [Tue, 30 Jun 2009 03:23:04 +0000 (11:23 +0800)]
net: Replace AID_NET_RAW checks with capable(CAP_NET_RAW).

Signed-off-by: Chia-chi Yeh <chiachi@android.com>
14 years agosecurity: Add AID_NET_RAW and AID_NET_ADMIN capability check in cap_capable().
Chia-chi Yeh [Thu, 18 Jun 2009 23:15:05 +0000 (07:15 +0800)]
security: Add AID_NET_RAW and AID_NET_ADMIN capability check in cap_capable().

Signed-off-by: Chia-chi Yeh <chiachi@android.com>
14 years agoashmem: don't require a page aligned size
Marco Nelissen [Tue, 23 Jun 2009 16:32:11 +0000 (09:32 -0700)]
ashmem: don't require a page aligned size

This makes ashmem more similar to shmem and mmap, by
not requiring the specified size to be page aligned,
instead rounding it internally as needed.

Signed-off-by: Marco Nelissen <marcone@android.com>
14 years agonet: Fix a potential deadlock while releasing PPPoLAC/PPPoPNS socket.
Chia-chi Yeh [Wed, 17 Jun 2009 00:51:23 +0000 (08:51 +0800)]
net: Fix a potential deadlock while releasing PPPoLAC/PPPoPNS socket.

PPP driver guarantees that no thread will be executing start_xmit() after
returning from ppp_unregister_channel(). To achieve this, a spinlock (downl)
is used. In pppolac_release(), ppp_unregister_channel() is called after sk_udp
is locked. At the same time, another thread might be running in pppolac_xmit()
with downl. Thus a deadlock will occur if the thread tries to lock sk_udp.
The same situation might happen on sk_raw in pppopns_release().

Signed-off-by: Chia-chi Yeh <chiachi@android.com>
14 years ago[ARM] 5507/1: support R_ARM_MOVW_ABS_NC and MOVT_ABS relocation types
Paul Gortmaker [Thu, 7 May 2009 14:18:40 +0000 (15:18 +0100)]
[ARM] 5507/1: support R_ARM_MOVW_ABS_NC and MOVT_ABS relocation types

From: Bruce Ashfield <bruce.ashfield@windriver.com>

To fully support the armv7-a instruction set/optimizations, support
for the R_ARM_MOVW_ABS_NC and R_ARM_MOVT_ABS relocation types is
required.

The MOVW and MOVT are both load-immediate instructions, MOVW loads 16
bits into the bottom half of a register, and MOVT loads 16 bits into the
top half of a register.

The relocation information for these instructions has a full 32 bit
value, plus an addend which is stored in the 16 immediate bits in the
instruction itself.  The immediate bits in the instruction are not
contiguous (the register # splits it into a 4 bit and 12 bit value),
so the addend has to be extracted accordingly and added to the value.
The value is then split and put into the instruction; a MOVW uses the
bottom 16 bits of the value, and a MOVT uses the top 16 bits.

Signed-off-by: David Borman <david.borman@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
14 years agonet: Fix a bitmask in PPPoPNS and rename constants in PPPoPNS and PPPoLAC.
Chia-chi Yeh [Fri, 12 Jun 2009 18:29:04 +0000 (02:29 +0800)]
net: Fix a bitmask in PPPoPNS and rename constants in PPPoPNS and PPPoLAC.

Signed-off-by: Chia-chi Yeh <chiachi@android.com>
14 years agowl127x-rfkill: Add power control driver for TI WL127X Bluetooth chips
Nick Pelly [Thu, 11 Jun 2009 17:49:48 +0000 (10:49 -0700)]
wl127x-rfkill: Add power control driver for TI WL127X Bluetooth chips

Signed-off-by: Nick Pelly <npelly@google.com>
14 years agosdio: fix sdio_reset_comm() error path
Dmitry Shmidt [Fri, 6 Mar 2009 17:34:40 +0000 (09:34 -0800)]
sdio: fix sdio_reset_comm() error path

Signed-off-by: San Mehat <san@android.com>
14 years agonet: add PPP on PPTP Network Server (PPPoPNS) driver.
Chia-chi Yeh [Thu, 11 Jun 2009 17:09:30 +0000 (01:09 +0800)]
net: add PPP on PPTP Network Server (PPPoPNS) driver.

Signed-off-by: Chia-chi Yeh <chiachi@android.com>
14 years ago[ARM] Optionally flush entire dcache from v6_dma_flush_range
Arve Hjønnevåg [Wed, 10 Jun 2009 03:17:45 +0000 (20:17 -0700)]
[ARM] Optionally flush entire dcache from v6_dma_flush_range

If CACHE_FLUSH_RANGE_LIMIT is defined, then the entire dcache will
be flushed if the requested range is larger than this limit.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
14 years agofutex: Restore one of the fast paths eliminated by 38d47c1b7075bd7ec3881141bb3629da58...
Arve Hjønnevåg [Wed, 10 Jun 2009 03:21:44 +0000 (20:21 -0700)]
futex: Restore one of the fast paths eliminated by 38d47c1b7075bd7ec3881141bb3629da58f88dab

This improves futex performance until our user-space code is fixed to use
FUTEX_PRIVATE_FLAG for non-shared futexes.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
14 years agousb: gadget: android: Allow usb charging to draw up to 500mA instead of 250.
Ken Kessler [Fri, 29 May 2009 18:52:30 +0000 (11:52 -0700)]
usb: gadget: android: Allow usb charging to draw up to 500mA instead of 250.

Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
14 years agonohz: Fix ondemand governor not always ramping up on 100% load.
Arve Hjønnevåg [Fri, 29 May 2009 23:46:13 +0000 (16:46 -0700)]
nohz: Fix ondemand governor not always ramping up on 100% load.

On systems that perform the context switch with interrupts enabled
(e.g. ARM) get_cpu_idle_time_us could get stuck returning the last
idle time when the cpu is busy. If an interrupt occurs while
switching to the idle thread, and this interrupt wakes up a thread,
need-resched will be set on the idle thread, but since we have not
finished switching to the idle thread tick_nohz_stop_sched_tick will
be called. (idle_cpu is true since the head of the runqueue is the
idle thread, but need_resched returns false since we are still
running in the context of the old thread)

Fix this by not calling tick_nohz_start_idle when returning from an
interrupt while the idle thread is in its schedule phase.
(!ts->inidle)

Signed-off-by: Arve Hjønnevåg <arve@android.com>
15 years agocgroup: Add generic cgroup subsystem permission checks.
San Mehat [Thu, 21 May 2009 21:10:06 +0000 (14:10 -0700)]
cgroup: Add generic cgroup subsystem permission checks.

    Rather than using explicit euid == 0 checks when trying to move
tasks into a cgroup via CFS, move permission checks into each
specific cgroup subsystem. If a subsystem does not specify a
'can_attach' handler, then we fall back to doing our checks the old way.

    This way non-root processes can add arbitrary processes to
a cgroup if all the registered subsystems on that cgroup agree.

    Also change explicit euid == 0 check to CAP_SYS_ADMIN

Signed-off-by: San Mehat <san@google.com>
15 years agonet: add PPP on L2TP Access Concentrator (PPPoLAC) driver.
Chia-chi Yeh [Thu, 7 May 2009 20:02:40 +0000 (04:02 +0800)]
net: add PPP on L2TP Access Concentrator (PPPoLAC) driver.

Signed-off-by: Chia-chi Yeh <chiachi@android.com>
15 years agoposixtimers, sched: Fix posix clock monotonicity
Hidetoshi Seto [Tue, 31 Mar 2009 07:56:03 +0000 (16:56 +0900)]
posixtimers, sched: Fix posix clock monotonicity

Impact: Regression fix (against clock_gettime() backwarding bug)

This patch re-introduces a couple of functions, task_sched_runtime
and thread_group_sched_runtime, which was once removed at the
time of 2.6.28-rc1.

These functions protect the sampling of thread/process clock with
rq lock.  This rq lock is required not to update rq->clock during
the sampling.

i.e.
  The clock_gettime() may return
   ((accounted runtime before update) + (delta after update))
  that is less than what it should be.

v2 -> v3:
- Rename static helper function __task_delta_exec()
  to do_task_delta_exec() since -tip tree already has
  a __task_delta_exec() of different version.

v1 -> v2:
- Revises comments of function and patch description.
- Add note about accuracy of thread group's runtime.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: stable@kernel.org [2.6.28.x][2.6.29.x]
LKML-Reference: <49D1CC93.4080401@jp.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agoyaffs: Fix yaffs_file_write to not return -ENOSPC when there is nothing to write
Arve Hjønnevåg [Thu, 7 May 2009 00:37:10 +0000 (17:37 -0700)]
yaffs: Fix yaffs_file_write to not return -ENOSPC when there is nothing to write

yaffs_write_end may get called with copied == 0 if the requested write was
interrupted by a signal, but user-space will not restart the write if -ENOSPC
is returned.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
15 years agoashmem: Add common prefix to name reported in /proc/pid/maps
Arve Hjønnevåg [Tue, 28 Apr 2009 03:42:29 +0000 (20:42 -0700)]
ashmem: Add common prefix to name reported in /proc/pid/maps

Signed-off-by: Arve Hjønnevåg <arve@android.com>
15 years agoashmem: Don't install fault handler for private mmaps.
Arve Hjønnevåg [Tue, 28 Apr 2009 01:20:59 +0000 (18:20 -0700)]
ashmem: Don't install fault handler for private mmaps.

Ashmem is used to create named private heaps. If this heap is backed
by a tmpfs file it will allocate two pages for every page touched.
In 2.6.27, the extra page would later be freed, but 2.6.29 does not
scan anonymous pages when running without swap so the memory is not
freed while the file is referenced. This change changes the behavior
of private ashmem mmaps to match /dev/zero instead tmpfs.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
15 years agonet: Fix compilation of the IPv6 module
Steinar H. Gunderson [Wed, 15 Apr 2009 13:01:33 +0000 (15:01 +0200)]
net: Fix compilation of the IPv6 module

Fix compilation of the IPv6 module -- current->euid does not exist anymore,
current_euid() is what needs to be used.

Signed-off-by: Steinar H. Gunderson <sesse@google.com>
15 years agopmem: Add include sched.h to fix compile errors
Rebecca Schultz Zavin [Mon, 30 Mar 2009 03:58:38 +0000 (20:58 -0700)]
pmem: Add include sched.h to fix compile errors

Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
15 years agoyaffs: Update stats when using mtdif2.
Arve Hjønnevåg [Sat, 4 Apr 2009 02:05:50 +0000 (19:05 -0700)]
yaffs: Update stats when using mtdif2.

15 years agoyaffs: Pass through single bit errors from MTD.
Arve Hjønnevåg [Sat, 4 Apr 2009 01:58:31 +0000 (18:58 -0700)]
yaffs: Pass through single bit errors from MTD.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
15 years agoyaffs: Set YAFFS_IGNORE_TAGS_ECC if compiled without ECC support.
Arve Hjønnevåg [Sat, 18 Oct 2008 04:06:15 +0000 (21:06 -0700)]
yaffs: Set YAFFS_IGNORE_TAGS_ECC if compiled without ECC support.

15 years agoyaffs: Import yaffs from Tue Mar 17 01:12:00 2009 +0000
Arve Hjønnevåg [Sat, 4 Apr 2009 00:45:58 +0000 (17:45 -0700)]
yaffs: Import yaffs from Tue Mar 17 01:12:00 2009 +0000

Author: wookey <wookey>
Date:   Tue Mar 17 01:12:00 2009 +0000

    This file escaped copyright date update. Fixed.

15 years agokernel_debugger_core: Add sysrq command.
Arve Hjønnevåg [Tue, 15 Apr 2008 04:28:42 +0000 (21:28 -0700)]
kernel_debugger_core: Add sysrq command.

sysrq <c> will run the sysrq command <c> and dump what
was added to the kernel log while the command ran.

Signed-off-by: Brian Swetland <swetland@google.com>
Signed-off-by: Arve Hjønnevåg <arve@android.com>
15 years agokernel_debugger_core: add interrupt-context debugger core
Brian Swetland [Wed, 9 Apr 2008 05:34:46 +0000 (22:34 -0700)]
kernel_debugger_core: add interrupt-context debugger core

This provides kernel_debugger() which can be called from an interrupt
context low level debugger wedge to execute commands that inspect
kernel state.  It doesn't do much on its own.

Signed-off-by: Brian Swetland <swetland@google.com>
15 years agoprintk: Fix log_buf_copy termination.
Arve Hjønnevåg [Tue, 15 Apr 2008 04:35:25 +0000 (21:35 -0700)]
printk: Fix log_buf_copy termination.

If idx was non-zero and the log had wrapped, len did not get truncated
to stop at the last byte written to the log.

15 years agoRevert "printk: remove unused code from kernel/printk.c"
Arve Hjønnevåg [Fri, 16 Jan 2009 03:07:27 +0000 (19:07 -0800)]
Revert "printk: remove unused code from kernel/printk.c"

This reverts commit acff181d3574244e651913df77332e897b88bff4.

15 years agommc: sd: Remove debugging printk
Dima Zavin [Thu, 26 Mar 2009 04:29:45 +0000 (21:29 -0700)]
mmc: sd: Remove debugging printk

Signed-off-by: Dima Zavin <dima@android.com>
15 years agommc: core: Hold a wake lock accross delayed work + mmc rescan
San Mehat [Mon, 23 Mar 2009 19:20:37 +0000 (12:20 -0700)]
mmc: core: Hold a wake lock accross delayed work + mmc rescan

Signed-off-by: San Mehat <san@android.com>
15 years agofs: block_dump: Don't display inode changes if block_dump < 2
San Mehat [Sun, 22 Mar 2009 01:48:54 +0000 (18:48 -0700)]
fs: block_dump: Don't display inode changes if block_dump < 2

Signed-off-by: San Mehat <san@android.com>
15 years agoblock: block_dump: Add number of sectors to debug output
San Mehat [Sun, 22 Mar 2009 01:48:05 +0000 (18:48 -0700)]
block: block_dump: Add number of sectors to debug output

Signed-off-by: San Mehat <san@android.com>
15 years ago[docs] android: Add android config documentation to boot framework.
Mike Chan [Thu, 22 Jan 2009 20:23:32 +0000 (12:23 -0800)]
[docs] android: Add android config documentation to boot framework.

Signed-off-by: Mike Chan <mike@android.com>
15 years agotiwlan: Add abstract wifi control functions support
Dmitry Shmidt [Thu, 18 Dec 2008 17:55:20 +0000 (09:55 -0800)]
tiwlan: Add abstract wifi control functions support

15 years agorfkill: Introduce CONFIG_RFKILL_PM and use instead of CONFIG_PM to power down
Nick Pelly [Fri, 5 Dec 2008 01:37:05 +0000 (17:37 -0800)]
rfkill: Introduce CONFIG_RFKILL_PM and use instead of CONFIG_PM to power down

Some platforms do not want to power down rfkill devices on suspend.

Signed-off-by: Nick Pelly <npelly@google.com>
15 years agoandroid_usb: Composite USB gadget driver for android.
Mike Lockwood [Wed, 3 Dec 2008 03:01:33 +0000 (22:01 -0500)]
android_usb: Composite USB gadget driver for android.

Signed-off-by: Mike Lockwood <lockwood@android.com>
USB: android gadget: add remote wakeup attribute to android function

Add remote wakeup attribute to configuration descriptor of android
function to advertise remote wakeup capability to host

Acked-by: Allam, Suresh Reddy <sallam@qualcomm.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
usb gadget: link fixes for android composite gadget

Signed-off-by: Mike Lockwood <lockwood@android.com>
usb gadget: Fix null pointer errors in android composite driver

Signed-off-by: Mike Lockwood <lockwood@android.com>
15 years agommc: sd: Add retries in re-detection
San Mehat [Thu, 4 Dec 2008 19:18:00 +0000 (11:18 -0800)]
mmc: sd: Add retries in re-detection

Signed-off-by: San Mehat <san@android.com>
15 years agommc: mmcblk: Add new feature 'CONFIG_MMC_BLOCK_PARANOID_RESUME'
San Mehat [Wed, 3 Dec 2008 18:22:59 +0000 (10:22 -0800)]
mmc: mmcblk: Add new feature 'CONFIG_MMC_BLOCK_PARANOID_RESUME'

  With this feature enabled, mmcblk will check the card-status before issuing
a transaction *only* after being resumed. This protectes us from issuing
transactions before the sdcard is ready (which can occur if the host driver
deferrs mmc_resume_host() to reduce resume latency)

Signed-off-by: San Mehat <san@android.com>
15 years agommc: sd: When resuming, try a little harder to init the card
San Mehat [Mon, 1 Dec 2008 16:52:34 +0000 (08:52 -0800)]
mmc: sd: When resuming, try a little harder to init the card

Signed-off-by: San Mehat <san@android.com>
15 years agommc: Add new API call 'sdio_reset_comm' for resetting communication with an SDIO...
San Mehat [Thu, 15 May 2008 16:15:37 +0000 (09:15 -0700)]
mmc: Add new API call 'sdio_reset_comm' for resetting communication with an SDIO device

Signed-off-by: San Mehat <san@android.com>
15 years agotrout: Add functions for WiFi
Dmitry Shmidt [Tue, 11 Nov 2008 19:22:38 +0000 (11:22 -0800)]
trout: Add functions for WiFi

15 years agommc: Add concept of an 'embedded' SDIO device.
San Mehat [Mon, 14 Apr 2008 22:22:49 +0000 (15:22 -0700)]
mmc: Add concept of an 'embedded' SDIO device.

This is required to support chips which use SDIO for signaling/
communication but do not implement the various card enumeration registers
as required for full SD / SDIO cards.

mmc: sdio: Fix bug where we're freeing the CIS tables we never allocated when using EMBEDDED_SDIO
mmc: Add max_blksize to embedded SDIO data

Signed-off-by: San Mehat <san@google.com>