aboutsummaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2008-11-19Subject: [PATCH] glamo: Don't disable hwcursor for blinking and use vsync-wait.Andrzej Zaborowski
2008-11-19Subject: [PATCH] [a6k] Everyone calls SET_NET_DEV and hald needs that too,Holger Freyther
make it happy Call SET_NET_DEV to set a parent device. All other net drivers are doing this and hald needs a parent to add the network device.
2008-11-19fix-pcf50633-use-pcf-not-data-in-probe-for-context.patchAndy Green
Everywhere in the sources except the probe function the context pointer is called "pcf"... in there it's called "data" for some reason. This stops confusion by changing it to be "pcf" in there as well. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-pcf50633-migrate-gta02-peripherals-out.patchAndy Green
pcf50633.c shouldn't know GTAxx at all. Move to using a platform callback to allow definition of platform devices with pcf50633 as parent device (good for enforcing suspend / resume ordering). Remove all code references to GTAxx from the sources (one string left for compatability). Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-pcf50633-platform-backlight-resume-ramp-setting.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-glamo-suspend-resume-dram-and-engines.patchAndy Green
Two issues... we never took care to take down engines in suspend and bring them back in resume. This was part of the display corruption that could be seen briefly on resume. The other issue that made the "noise" corruption was bad ordering of resume steps. This patch simplifies (removing needless re-init) resume actions and makes explicit the suspend and resume steps. It also adds code to track which engines are up and push them down in suspend and bring them back in resume. The result is no more corruption of display buffer in suspend, it comes back completely clean. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-pcf50633-really-defer-backlight-on-resume.patchAndy Green
Backlight wasn't off by default on resume, so it was never really deferred (until LCM is initialized). This fixes that and so removes the brief white screen between pcf50633 resume and LCM init. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19debug-backtrace-not-choke-on-null-dev_blah.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-pcf50633-disable-irq-from-suspend-until-resume.patchAndy Green
Disable pcf interrupt (not for wake, just as interrupt) in suspend, re-enable it again just before we force-call the workqueue function at end of pcf resume, which leads to pcf interrupt source registers getting cleared so it can signal an interrupt normally again. This change ends the uncontrolled appearance of pcf interrupts during resume time which previously caused the work to attempt to use the I2C stuff before i2c host device had itself resumed. Now the isr work is only queued, and the isr work function called, definitively after pcf resume completes. In suspend time, the work function may have been queued some time before and be pending, and it could still show up at a bad time. Therefore if the work function sees that it is coming since the start of pcf50633 suspend function, it aborts without attempting to read the pcf interrupt regs, leaving them for resume to take care of. USB current limit and no battery work functions are also made aware of suspend state and act accordingly. Lastly I noticed that in early resume, i2c_get_clientdata(&pcf->client) returns NULL, presumably because i2c device is still suspended. This could easily make trouble for async events like interrupt work, since pcf pointer is the client data. Disabling appearance of the work until after pcf50633 resume will also avoid that. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-pcf50633-suspend-state-as-enum.patchAndy Green
Use an enum to define pcf50633 suspend / resume state. Add PCF50633_SS_RESUMING_BUT_NOT_US_YET to be the state early in resume: add platform driver resume function just to set this state so we can differentiate between early resume and late suspend. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19debug-i2c-s3c2410-dump-stack-on-suspended-tranfer.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-pcf50633-kill-white-splash-of-death-on-suspend.patchAndy Green
mach-gta02 meddles with the regulator platform struct after it is defined, leading to LCM power getting lost in suspend despite I set it to be left up. Fixing this finally removes the incredibly stubborn white LCM on suspend "flash". This is also going to be implicated in Sean McNeil's experience of monochromatic LCM after resume, which was previously attacked by resetting and re-initing the LCM from scratch. In addition, I realized that we take down core_1v3 in pcf50633 suspend action, this is happening near the start of suspend, so we are in a meta-race to finish suspend in a controlled way before the caps on core_1v3 run out (I only saw 23.3uF total). If it's true, this is where the weirdo sensitivity to timing during suspend is coming from. Therefore in this patch we also remove sleeps and dev_info() etc (which have to flush on serial console) from the pc50633 isr workqueue if we are in pcf50633 driver suspend state 1, ie, suspending... because we don't have time for it. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-pcf50633-add-back-gratuitous-isr-work-call-in-resume.patchAndy Green
Sean McNeil reports that he doesn't get pcf50633 interrupts any more after resume. This adds back the call to ISR work in the resume, removal of which is probably to do with it. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-pcf50633-require-resume-level-3-for-irq-work.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19change-lcm-keep-power-faster-resume.patchAndy Green
The LCM spins for 100ms during resume for not much reason. Leave it powered (it is meant to pull uA when suspended) and get nice fast resume to video. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-pcf50633-usb-curlim-workqueue-migration.patchAndy Green
pcf50633 needs to take responsibility for managing current limit changes asycnhrnously, ie, from USB stack enumeration. It's a feature of pcf50633 not mach-gta02.c, and we can do better with taking care about keeping it from firing at a bad time in there too. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-pcf50633-use-i2c-bulk-autoincrement.patchAndy Green
Simplify and speed up bulk sequential I2C actions in pcf50633 the time savings are pretty considerable and so is the simplification Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-pcf50633-rtc-i2c-bulk-autoincrement-simplify.patchAndy Green
More pcf50633 major time saving by using i2c bulk autoincrement. Code reduction too by using array for time elements. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-pcf50633-interrupt-work-enforce-wait-on-resume-completion.patchAndy Green
Improve pcf50633 interrupt service scheduling to enforce only servicing when resume action is completed Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-glamo-mci-resume-dependency-on-pcf50633.patchAndy Green
Glamo MCI has a resume order dependncy on pcf50633, it has to be able to power the SD slot via it. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-jbt6k74-force-reset-suspend.patchAndy Green
Sean McNeil reports that without the reset for LCM in suspend, he gets a monochromatic mode on it somehow. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-glamo-mci-relationship-with-pcf50633-suspend-resume.patchAndy Green
After protecting pcf50633 read and write primitives against operation after suspend or before resume (by blowing a stack_trace()) I saw glamo-mci was trying to use pcf50633 at these bad times on its own suspend and resume. Since that part was already done via platform callback, I added an export in pcf50633 that tells you if it is ready or busy, and used it to defer (resume power on case) or ignore (suspend power off case, since pcf50633 already did it) the mci power call. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-pcf50633-suspend-resume-onehit-i2c-other-meddling.patchAndy Green
- speed up suspend and resume by using one hit i2c bulk transactions - don't bother storing int mask set on suspend, the default one is what we use anyway - put stack_trace() on pcf50633 low level access that fire if we try to touch them before we resumed - cosmetic source cleanup - reduces resume time for pcf50633 from 450ms to 255ms Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19The following is a minor cleanup of backlight resume:Sean McNeil
2008-11-19add-use-pcf50633-resume-callback-jbt6k74.patchAndy Green
Adds the resume callback stuff to glamo, then changes jbt6k74 to no longer use a sleeping workqueue, but to make its resume actions dependent on pcf50633 and glamo resume (for backlight and communication to LCM respectively) Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19introduce-pcf50633-resume-dependency-list.patchAndy Green
Adds resume dependency support to pcf50633 Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19introduce-charging-led-behaviour.patchAndy Green
Creates a new behaviour requested by Will that the red LED on GTA02 is lit during battery charging.and goes out when the battery is full. This is done by leveraging the PMU interrupts, but in one scenario there is no interrupt that occurs, when the battery is replaced after being removed with the USB power in all the while. So a sleepy work function is started under those circumstances to watch for battery reinsertion or USB cable pull. 100mA limit was not being observed under some conditions so this was fixed and tested with a USB cable with D+/D- disconnected. 1A charger behaviour was also tested. Showing the charging action exposes some inconsistency in pcf50633 charging action. If your battery is nearly full, it will keep charging it at decreasing current even after it thinks it is at 100% capacity for a long while. But if you pull that same battery and re-insert it, the charger state machine in pcf50633 believe it is full and won't charge it. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19Subject: [PATCH] Hardware glamo-fb cursor, some clean-up.Andrzej Zaborowski
2008-11-19Make ar6k not print soooo much to my consoleHolger Freyther
From 4cb4c308fde9c1f3598046ff98191d14b62bc609 Mon Sep 17 00:00:00 2001 From: Holger Freyther <zecke@openmoko.org> Date: Thu, 29 May 2008 00:09:32 +0200 Subject: [PATCH] [ar6k] silent++, removing -DDEBUG from the Makefile does not work
2008-11-19Fix possible null pointer dereference in s3c24xx_i2c_resumeHolger Freyther
From 0b9bae6aed5268707b348e48a01411ba420844e1 Mon Sep 17 00:00:00 2001 From: Holger Freyther <zecke@openmoko.org> Date: Tue, 27 May 2008 14:41:35 +0200 Subject: [PATCH] [janitor] Fix possible null pointer dereference Judging by the control flow of the resume method i2c->suspended++ could lead to a null pointer dereference.
2008-11-19fix-remove-unused-model-name-bq27000.patchAndy Green
Model name isn't in the bq27000 register set, remove the claim that we can deliver it Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-reduce-wake-reasons-in-pcf50633.patchAndy Green
Currently we are willing to wake from sleep from pcf50633 interrupts we don't actually do anything about even when we wake (somewhat puzzled). Let's disable some of these wake sources. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19add-resume-reason-sysfs.patchAndy Green
If you have U-Boot with uboot-add-find-wake-reason.patch, this patch will get you a wake reason report from cat /sys/devices/platform/neo1973-resume.0/resume_reason it looks like this: EINT00_ACCEL1 EINT01_GSM EINT02_BLUETOOTH EINT03_DEBUGBRD EINT04_JACK EINT05_WLAN EINT06_AUXKEY EINT07_HOLDKEY EINT08_ACCEL2 * EINT09_PMU adpins adprem usbins usbrem rtcalarm second onkeyr onkeyf exton1r exton1f exton2r exton2f exton3r exton3f * batfull chghalt thlimon thlimoff usblimon usblimoff adcrdy onkey1s lowsys lowbat hightmp autopwrfail dwn1pwrfail dwn2pwrfail ledpwrfail ledovp ldo1pwrfail ldo2pwrfail ldo3pwrfail ldo4pwrfail ldo5pwrfail ldo6pwrfail hcidopwrfail hcidoovl EINT10_NULL EINT11_NULL EINT12_GLAMO EINT13_NULL EINT14_NULL EINT15_NULL This shows a problem, false wake from suspend due to battery full Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19Fixup hang on resume caused by the s3c2410 touch screen driverHolger Freyther
From dc6d335b467646d802a21ea6b925ee97e83e07be Mon Sep 17 00:00:00 2001 From: Holger Freyther <zecke@openmoko.org> Date: Thu, 15 May 2008 01:16:23 +0200 Subject: [PATCH] Do not use msleep in the resume path of s3c2410_ts as it might lockup For some reason msleep might set the only task running into a suspended state and no timer will ever wake it up. Use mdelay to avoid this. I was not able to understand the reasoning of sleeping after enabling the clock. So we might just remove the msleep/mdelay at all and be fine. Signed-Off-By: Holger Freyther <zecke@openmoko.org>
2008-11-19fix-wep-needs-keys-before-ap.patchSean McNeil
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-suspend-backlight-timing-pm-debug.patchAndy Green
This patch improves the smoothness of suspend and resume action. Taking out CONFIG_PM_DEBUG allows much more rapid resume (the low level serial traffic appears to be synchronous) Added a platform callback in jbt driver and support in pcf50633 so we can defer bringing up the backlight until the LCM is able to process video again (which must happen after the glamo is up and producing video beacuse the LCM is hooked to glamo SPI) GTA01 should not be affected by all this as the callback will default to null and it is on pcf50606 Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-KEY_PHONE-up-down-inversion.patchSean McNeil
the KEY_PHONE is backwards. It returns up when pushed and down when released. The following change fixes it: Signed-off-by: Sean McNeil <sean@mcneil.com>
2008-11-19tracking-2.6.26-rc1-sdio-pnp-changes.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19tracking-2.6.26-rc1-remove-dupe-s3c2410_nand_update_chip.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19tracking-2.6.26-rc1-remove-input-dev-private-member.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19clean-sdio-hcd-suspend.patchAndy Green
fix trailing whitespace and function args for suspend. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19From cc08b5986dfd8d971ee46ce7045fb7863f99a92a Mon Sep 17 00:00:00 2001Matt Hsu
Subject: [PATCH] - add suspend/resume function of s3c24xx_hcd driver Signed-off-by: Matt Hsu <matt_hsu@openmoko.org>
2008-11-19gta01-fix-resume-redo-par.patchReddog
--> (http://bugzilla.openmoko.org/cgi-bin/bugzilla/attachment.cgi?id=595&action=view) fix resume of fbdev BZ#79 I played a bit with the fbdev resume. With this patch the neo doesn't get this white screen on resume from console and from X. Signed-off-by: Reddog <reddog@mastersword.de>
2008-11-19tracking-2.6.25-changed-s3c2410_dma_request-reurn.patchAndy Green
s3c2410_dma_request used to return 0 for OK and something else for error, now it returns -ve error code or +ve dma channel index + flag Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19tracking-2.6.25-struct-bus-type-loses-devices-member.patchAndy Green
I don't know what device the symlink should be linked against on GTA01, somebody that does know needs to edit it in where it says "FIXME"... I think the supplied method can work OK otherwise. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19tracking-2.6.25-input_dev-cdev-union-removed.patchAndy Green
struct input_dev in include/linux/input.h used to have a union cdev which contained the associated device struct pointer. This got simplified out in 2.6.25, so this patch removes cdev from our drivers that used it before. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-gta01-pmu-irq-edge-lost-on-resume.patchMike Wester
GTA01 -only Restore power button functionality after resume operation Per Werner's suggestion, run the PMU interrupt handler immediately after resume to clear/handle any pending interrupts from that device. This appears to resolve the dead-powerbutton-after-resume problem. This is not well-tested; need feedback to see if there are any side-effects or other problems. From BZ 1313 Signed-off-by: Mike Wester <mwester@dis.net>
2008-11-19fix-jack-interrupt-debounce-loss-window.patchAndy Green
Make sure we can't lose a jack interrupt in debounce, despite it is a one-in-a-million thing that just needs replug to clear Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19[neo] Every access to GPIO bank B has to go through the shadow codeHolger Freyther
- Any setting of any PIN on bank B will undo the LED setting. Introduce neo1973_gpb_set_pin to set the PIN in a way not losing the LED or any other shadowed setting. - Update users of GPBXY for gta01 and gta02. Signed-Off-By: Holger Freyther <zecke@openmoko.org>
2008-11-19[led] Misc fixes in the driver codeHolger Freyther
to_bundle returned the wrong data. The platform_device is the parent of the class_device used by the LED device class. Return the correct class. num_leds was not set to the correct number of registered LEDs. All loops using num_leds (e.g. module unloading) were not executed at all. On removal of the module disable all LEDs. Signed-Off-By: Holger Freyther <zecke@openmoko.org>