Age | Commit message (Collapse) | Author |
|
Modify pcf50633 driver to use the new regulator API.
|
|
Eliminate pcf50633_global and hence make pcf50633.c work with
multiple devices. pcf50633 is no longer a paltform device, but
an i2c device.
|
|
Setup interrupt latching for thresholded operation
From: Simon Kagstrom <simon.kagstrom@gmail.com>
This patch, for stable-tracking, sets up interrupt latching for
thresholded operation, and also acks the interrupt in the handler. This
reduces the interrupt load, and thresholds < 36 are once again allowed
(though not of much use).
The patch also fixes some warnings in the code (including a potential
bug).
Thanks to Werner for pointing this out!
Signed-off-by: Simon Kagstrom <simon.kagstrom@gmail.com>
|
|
When compiling s3cmci as a module and doing an insmod-rmmod-insmod
sequence, s3cmci_probe often oopses because the platform data contains
garbage.
The reason for this is that I'm not providing any platform data (removed
in gta02-mmc-mci.patch), and thus s3cmci tries to put its own defaults:
if (!host->pdata) {
pdev->dev.platform_data = &s3cmci_def_pdata;
host->pdata = &s3cmci_def_pdata;
}
s3cmci_def_pdata is inside the module, so the pointer in
pdev->dev.platform_data becomes invalid after the module is unloaded.
Since nothing else in s3cmci uses pdev->dev.platform_data, "patching"
it seems unnecessary. This patch removes it.
Signed-off-by: Werner Almesberger <werner@openmoko.org>
|
|
Oops ! It compiled file as non-module, but not as module.
Signed-off-by: Werner Almesberger <werner@openmoko.org>
|
|
This patch adds the module parameter f_max to s3cmci to limit the
maximum clock frequency of the SD interface.
E.g., when booting with s3cmci.f_max=10000000, the kernel should say
s3c2440-sdi s3c2440-sdi: f_max lowered from 50000000 to 10000000 Hz
and the interface frequency should be limited accordingly.
Setting the limit above the maximum frequency supported by the card
or the interface has no effect, so the option is ignored (and no
"f_max lowered" line is printed).
Setting the limit below the minimum frequency supported by the
interface sets it to that frequency.
Signed-off-by: Werner Almesberger <werner@openmoko.org>
|
|
This solves the problem that the backlight never turns off
in stable-tracking
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Merge in the accelerometer functionality from stable
From: Simon Kagstrom <simon.kagstrom@gmail.com>
This giant patch merges the functionality from stable. It also changes
the default threshold to 0 (generate interrupts on data). As the
level-triggered interrupts cause too frequent interruptions on low
thresholds, also set a lower limit to 36mg to avoid slowing down the
phone too much.
Also rearrange the probe function to disable interrupts only over device
I/O. This fixes the kernel errors when inserting the module.
Andy was right: In stable-tracking, no magic workaround is needed to
make suspend/resume work. I've tested the accelerometers under heavy
load (making the phone basically unusable) without getting lockups.
Signed-off-by: Simon Kagstrom <simon.kagstrom@gmail.com>
|
|
Work in progress.
|
|
Glamo GPIO are not set correctly after resume / reset action.
This patch forces them to correct state for GTA02.
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Change to removing Atheros stack left a dangling reference to Makefile
in drivers/sdio that made errors on make distclean
Reported-by: Christopher Hall <hsw@openmoko.org>
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Sean McNeil <sean@mcneil.com>
|
|
Tacls can actually be zero with some NAND flash devices, so we need
to permit this.
Also, the TACLS register actually specifies the actual number of
HCLK clocks, where the TWRPH0 and TWRPH1 registers are auto-incremented
by one HCLK clock in hardware.
Signed-off-by: Harald Welte <laforge@openmoko.org>
|
|
This is a replacement for Atheros' HIF layer that uses the Linux SDIO
stack.
Using GPLv2, like Atheros' code this is based on.
Work in progress.
Not-Yet-Signed-off-by: Werner Almesberger <werner@openmoko.org>
|
|
Make the AR6000 WLAN driver compile after moving it outside the
Atheros SDIO stack. Note that the config option's name changes
as well.
The choice of a non-standard location (drivers/ar6000/) is
intentional. The driver is still very far from being in shape for
mainline inclusion, and the odd location should serve as an
immediate warning.
Not-Yet-Signed-off-by: Werner Almesberger <werner@openmoko.org>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Ben Dooks wrote:
> My only comment would be
> that a slightly better solution would be to do:
Oh, that's much better, thanks ! I hadn't realized at first that
once could read the FIFO one byte at a time.
The revised patch is below.
- Werner
---------------------------------- cut here -----------------------------------
fix-s3c-nand-read-bytes.patch
With the introduction of optimized OOB reads in nand_read_subpage,
the length of the data requested may not be a multiple of four bytes.
This caused a partial read on the 2440, leading to false ECC errors
and, worse, attempts to "correct" them.
Note that there is a similar issue in s3c2440_nand_write_buf, which
doesn't seem to cause trouble yet.
Signed-off-by: Werner Almesberger <werner@openmoko.org>
|
|
Subject: [PATCH] glamofb: Initialize only visible part of the memory.
It takes lots of time (0.5 seconds) to initialize the whole memory. As
only the visible part matters, we could just initialize that part.
Signed-off-by: Chia-I Wu <olv@openmoko.com>
|
|
christer-mmc-byte-alignment.patch reduced the FIFO I/O granularity
from words to bytes. This also includes the decision when the FIFO
is empty or full.
However, we sometimes only want to transfer full words, in which
case do_pio_read/do_pio_write busy-loop until the FIFO has filled
up or drained enough.
In the case of do_pio_write, this can cause an endless loop if the
amount of data exceeds the FIFO size, because do_pio_write runs
before the transfer is initiated, so the FIFO never drains.
Signed-off-by: Werner Almesberger <werner@openmoko.org>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Without this the backlight remains stubbornly down on resume
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Minimal set of kernel changes to support Android operation.
Note arch/arm/configs/gta02-android-defconfig
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Try to make sure about no compiler malarky by volatile. Change hdq busy
detect. Change error handling path in hdq interface to fiq.
Signed-off-by: Sean McNeil <sean@mcneil.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
This large patch removes motion sensor from Linux SPI bitbang driver.
Previously, some access was done through Linux SPI protected
by a mutex, and the ISR access was done by platform bitbang code due
to inability of Linux SPI driver to work in the interrupt context.
Now all access is done by bitbang callbacks in mach_gta02.c and are
protected by single scheme of interrupt lockout for the duration --
I line-by-line'd the driver to confirm that best I could, adding
protection and taking more care on several /sys related paths.
Because this is no longer a Linux SPI bus driver, the path for various
/sys things have changed. They can now be found down, eg,
/sys/devices/platform/lis302dl.1/sample_rate
lis302dl.1 is the top sensor and .2 the bottom. The names of the input
susbsytem paths remain the same as before.
Not working in interrupt context made trouble using interrupt lockout as
locking
[21474615.495000] BUG: sleeping function called from invalid context at kernel/sched.c:4684
[21474615.495000] in_atomic():0, irqs_disabled():128
[21474615.495000] 2 locks held by bash/779:
[21474615.495000] #0: (&buffer->mutex){....}, at: [<c00ec1b0>] sysfs_write_file+0x30/0x80
[21474615.495000] #1: (pm_mutex){....}, at: [<c007a34c>] enter_state+0xd4/0x10c
[21474615.495000] [<c0032a14>] (dump_stack+0x0/0x14) from [<c0049410>] (__might_sleep+0xdc/0xf8)
[21474615.495000] [<c0049334>] (__might_sleep+0x0/0xf8) from [<c0316c38>] (wait_for_common+0x28/0x190)
[21474615.495000] r5:c79ffd00 r4:c79ffd4c
[21474615.495000] [<c0316c10>] (wait_for_common+0x0/0x190) from [<c0316e30>] (wait_for_completion+0x18/0x1c)
[21474615.495000] r8:c79ffd84 r7:c79c4800 r6:c79ffd00 r5:c79ffd20 r4:c79ffd4c
[21474615.495000] [<c0316e18>] (wait_for_completion+0x0/0x1c) from [<c01d28ec>] (spi_sync+0xa0/0xb8)
[21474615.495000] [<c01d284c>] (spi_sync+0x0/0xb8) from [<c020ca10>] (__reg_write+0x88/0x94)
[21474615.495000] [<c020c988>] (__reg_write+0x0/0x94) from [<c020cc30>] (lis302dl_resume+0x54/0x198)
[21474615.495000] r6:60000013 r5:c79c4800 r4:c79bc9c0
[21474615.495000] [<c020cbdc>] (lis302dl_resume+0x0/0x198) from [<c01d2fb0>] (spi_resume+0x38/0x44)
[21474615.495000] r6:00000010 r5:c79c4800 r4:c79c4974
[21474615.495000] [<c01d2f78>] (spi_resume+0x0/0x44) from [<c0198f34>] (resume_device+0x8c/0x1b0)
[21474615.495000] [<c0198ea8>] (resume_device+0x0/0x1b0) from [<c01990c0>] (dpm_resume+0x68/0x134)
[21474615.495000] r7:00000003 r6:00000010 r5:c79c4800 r4:c79c4974
[21474615.495000] [<c0199058>] (dpm_resume+0x0/0x134) from [<c01991b4>] (device_resume+0x28/0x38)
[21474615.495000] r6:00000003 r5:c08b7188 r4:00000010
[21474615.495000] [<c019918c>] (device_resume+0x0/0x38) from [<c007a0f8>] (suspend_devices_and_enter+0x110/0x180)
[21474615.495000] r4:00000000
[21474615.495000] [<c0079fe8>] (suspend_devices_and_enter+0x0/0x180) from [<c007a320>] (enter_state+0xa8/0x10c)
[21474615.495000] r6:00000003 r5:c03aa414 r4:00000000
[21474615.495000] [<c007a278>] (enter_state+0x0/0x10c) from [<c007a430>] (state_store+0xac/0xc0)
[21474615.495000] r6:c7b80000 r5:00000003 r4:c03aa414
[21474615.495000] [<c007a384>] (state_store+0x0/0xc0) from [<c014dfb4>] (kobj_attr_store+0x24/0x30)
[21474615.495000] [<c014df90>] (kobj_attr_store+0x0/0x30) from [<c00ebe58>] (flush_write_buffer+0x54/0x68)
[21474615.495000] [<c00ebe04>] (flush_write_buffer+0x0/0x68) from [<c00ec1d8>] (sysfs_write_file+0x58/0x80)
[21474615.495000] r8:c7acca80 r7:c79fff78 r6:000be408 r5:00000004 r4:c7a19ea0
[21474615.495000] [<c00ec180>] (sysfs_write_file+0x0/0x80) from [<c00a91b8>] (vfs_write+0xbc/0x14c)
[21474615.495000] [<c00a90fc>] (vfs_write+0x0/0x14c) from [<c00a9774>] (sys_write+0x4c/0x7c)
[21474615.495000] r7:00000004 r6:00000000 r5:00000000 r4:c7acca80
[21474615.495000] [<c00a9728>] (sys_write+0x0/0x7c) from [<c002dc20>] (ret_fast_syscall+0x0/0x2c)
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Last rebase to stable-2.6.26 left some trash from rebasing the patches on top of this,
clean it back out
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
We always return -EINVAL when changing s3c2410 USB host and device modes
due to lack of { }.
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
More effort to refine power code that does the suspend and resume actions
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Weeks of frantic effort to control Glamo, traced the issue to two outcomes:
nWAIT is forced down and the device is hard locked, or we survive immediate
Glamo resume and die again with nWAIT forced down when the framebuffer driver
tries to flash the soft cursor.
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Big chunk of trying to own Glamo resume and not really succeeding
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Stop the debugging stuff, see if that impacts resume error (not really, it
was actually Glamo)
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Light an LED in the dark crashing hell of dead resume... the problems come from
Glamo it turns out
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
All that stuff should be enforced by device tree now, out with it
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Hum well that's the idea, Glamo did not play ball
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
|
We panic on SD boot now we changed Glamo order, because it
didn't succeed to bring up mmcblk0p1. But, if you do loglevel=8
then it works OK. So we are racing with something...
Signed-off-by: Andy Green <andy@openmoko.com>
|