aboutsummaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2009-04-05Fixed the LCM driver state transition delay and pixel clock issueNicolas Dufresne
Space transition between sleep-in and sleep-out of at least 120 ms as mentionned in the spec. Also, made sure the LCM is moved into sleep state before the pixel clock is turned off. To do so, I've modified glamo-fb to send FB_BLANK_POWERDOWN before turning off the pixel clock. Also fixed various violation of coding style. This patch should reduce the risk of white screen. Signed-off-by: Nicolas Dufresne <nicolas.dufresne@gmail.com>
2009-04-02AR6000: move low-level cleanup from ar6000_destroy to ar6000_closeWerner Almesberger
A network device is supposed to disable its internals in the "close" function. Doing so affords us protection against various races, including the ioctl vs. rfkill conflict reported by Michael. Signed-off-by: Werner Almesberger <werner@openmoko.org> Reported-by: Michael Trimarch <michael@panicking.kicks-ass.org>
2009-03-31rtc-pcf50606: Fix month off-by-one errorWerner Almesberger
According to the PCF50606 manual, the issues resoved by commit cc1663fc922c03feb0d7bbb8b18d62fbac0128de also exists there. Signed-off-by: Werner Almesberger <werner@openmoko.org> Reported-by: Rask Ingemann Lambertsen <rask@sygehus.dk>
2009-03-31AR6000: support GTA02-specific rfkill only if building for GTA02Werner Almesberger
This is loosely based on a patch by Ivan Petrov. Signed-off-by: Werner Almesberger <werner@openmoko.org> Reported-by: Ivan Petrov <ivan_p@hotbox.ru>
2009-03-31This patch brings suspend/resume back to GTA01Tim Niemeyer
"pdata" is NULL on GTA01 and you oops. Revised patch, this time with if(..) instead of #ifdef Signed-off-by: Tim Niemeyer <tim.niemeyer@mastersword.de>
2009-03-31AR6000: Corrected 'vendor/device IDs'.Werner Almesberger
IDs 0 and 1 are AR6002, not AR6001. This is based on a patch by Ivan Petrov, but it differs in leaving the IDs in include/linux/mmc/sdio_ids.h Signed-off-by: Werner Almesberger <werner@openmoko.org> Reported-by: Ivan Petrov <ivan_p@hotbox.ru>
2009-03-31AR6000: revert MMC busy status checkWerner Almesberger
e2c0650efa751a6a2220618695fa41a2a5e7d23c introduced a platform-specific hack to check if the MMC driver and hardware handle busy signaling from the device properly. Since this seems to be the case, we can revert this hack now. Signed-off-by: Werner Almesberger <werner@openmoko.org>
2009-03-31Minor AR6000 cleanupWerner Almesberger
This patch cleans up a little after Ivan's netif_queue_stop fix. Signed-off-by: Werner Almesberger <werner@openmoko.org>
2009-03-31AR6000 netif_queue_stop non stop, Bug?ivan_p@hotbox.ru
This patch resolves the following issue: http://lists.openmoko.org/pipermail/openmoko-kernel/2009-March/009643.html Changed: prevent rescheduling network queue at interface opened/connected. Removed: wake network queue at transmit complete. Added: wake network queue at packet queue limit not reached. Signed-off-by: Ivan Petrov <ivan_p@hotbox.ru>
2009-03-30Fix ar6000_do_activate return valueWerner Almesberger
... and check the return value in ar6000_activate. [ Werner: changed ___FUNCTION__ to __func__ ] Signed-off-by: Michael Trimarchi <michael@panicking.kicks-ass.org> Signed-off-by: Werner Almesberger <werner@openmoko.org>
2009-03-26Take account of platform devices in drm_setunique() and drm_set_busid()Thomas White
This is done in a slightly nasty way. We should perhaps try to come up with a better way of uniquely identifying the platform device to DRM. Signed-off-by: Thomas White <taw@bitwiz.org.uk>
2009-03-26Add to Glamo-DRM initialisation routineThomas White
This adds some MMIO initialisation stuff to glamo-drm.c. Signed-off-by: Thomas White <taw@bitwiz.org.uk>
2009-03-26Fix MMC buffer locationsThomas White
This fixes the MMC buffer locations in glamo-mci.c, which were broken by the reorganisation of Glamo's memory. Signed-off-by: Thomas White <taw@bitwiz.org.uk>
2009-03-26Pass core Glamo device to DRM moduleThomas White
This adds a missing statement to let glamo-drm.c know the core Glamo handle, so it can manipulate registers such as the 2D and 3D clocks. Signed-off-by: Thomas White <taw@bitwiz.org.uk>
2009-03-26Tidy up Glamo memory map declarationsThomas White
This just cosmetically tidies up the declarations in glamo-core.h. We have to be very clear about what lives where in the memory. Signed-off-by: Thomas White <taw@bitwiz.org.uk>
2009-03-26Remove Glamo's 2D, 3D, JPEG and MPEG devicesThomas White
This patch removes the platform devices corresponding to Glamo's 2D, 3D, JPEG and MPEG engines. These will later be handled via DRM. Signed-off-by: Thomas White <taw@bitwiz.org.uk>
2009-03-26Initial DRM driver for GlamoJorge Zapata
2009-03-26Import part of Thomas White DRM tree:Jorge Zapata
Handle new memory layout. The "not-needed" memory should not be taken by the framebuffer driver. Use that for the DRM driver. Add the cmdq platform device Set aside 4k for hardware cursor, reject cursors that don't fit.
2009-03-26Avoid the high_memory check on arm platformsJorge Zapata
Handle correctly the proc/dri/0/name printing Helper function to check the PLATFORM feature
2009-03-26Platform's DRM driver loading, unloading and sysfs interface support.Jorge Zapata
2009-03-26Kconfig/Makefile DRM platform supportJorge Zapata
2009-03-26Fix trivial whitespace slippage.Werner Almesberger
Signed-off-by: Werner Almesberger <werner@openmoko.org>
2009-03-26Clean up pcf50606_client_dev_registertim.niemeyer@mastersword.de
platform_device_add_data copies the data, so no need for kmalloc. Signed-off-by: Tim Niemeyer <reddog@mastersword.de>
2009-03-26Add forgotten PCF50606 Kconfig/Makefile entriestim.niemeyer@mastersword.de
Watchdog and RTC entries were missing. Signed-off-by: Tim Niemeyer <reddog@mastersword.de>
2009-03-26Remove double INPUT_PCF6333_PMU in Kconfig/Makefiletim.niemeyer@mastersword.de
Signed-off-by: Tim Niemeyer <reddog@mastersword.de>
2009-03-26Really clean up, as promised in 1350d5dfaac7dadf6cab9e812f0acfabcce60e58Werner Almesberger
Signed-off-by: Werner Almesberger <werner@openmoko.org> Reported-by: Tim Niemeyer <tim.niemeyer@mastersword.de>
2009-03-26extend work around boot-time ordering on GTA01Tim Niemeyer
[ Werner: Documentation/CodingStyle lines 166 and 448, put blank line after local variables. ] Signed-off-by: Tim Niemeyer <reddog@mastersword.de> Signed-off-by: Werner Almesberger <werner@openmoko.org>
2009-03-26little debug msg copied from gta02tim.niemeyer@mastersword.de
Signed-off-by: Tim Niemeyer <reddog@mastersword.de>
2009-03-26Remove debug-aux-key-probe-resume-death.patchtim.niemeyer@mastersword.de
Get resume by AUX to work. Signed-off-by: Tim Niemeyer <reddog@mastersword.de>
2009-03-26Glamo fb: needs cfb_{fillrect,copyarea,imageblit} to linkRask Ingemann Lambertsen
The kernel would fail to link because cfb_fillrect, cfb_copyarea and cfb_imageblit weren't build. This patch fixes it. Signed-off-by: Rask Ingemann Lambertsen <rask@sygehus.dk>
2009-03-26Zero packet length detection for RNDIS fix. Migrated from 2.6.24 series kernelAric D. Blumer
This patch fixes the issues of RNDIS on the Openmoko Freerunner (and subsequently Windows networking with the Freerunner). It arises from the case where a stall is being issued by the upper level RNDIS driver to the s3c2410_udc.c in the 2.6.28 series driver and it not being handled correctly. This patch changes the RNDIS driver to send zero-length packets instead of a stall, a condition that allowed the udc driver to function correctly in 2.6.24 series kernels. Further investigation into the udc driver is recommended. I am currently looking into it to be able to use the Android ADB gadget driver, which currently has stability issues using the underlying udc on both Linux and Windows (although, it's possible that the Android ADB gadget has problems). Traces and logs of the USB traffic are available upon request. Thanks to Aric at SDG Systems for all of his work on this matter. Regards, Brian Code From de386af349bbfe1ad6d45c810185123975888d8d Mon Sep 17 00:00:00 2001 From: Aric D. Blumer <aric@sdgsystems.com> Date: Mon, 16 Mar 2009 16:04:02 -0600 Subject: [PATCH] Zero packet length detection for RNDIS fix. Migrated from 2.6.24 series kernel Signed-off-by: Aric D. Blumer <aric@sdgsystems.com> Signed-off-by: Brian Code <Brian.Code@koolu.com>
2009-03-25Fewer HDQ errors on 3D7KWerner Almesberger
If no battery is connected, we periodically get a burst of HDQ error messages (at least on 3D7K), interrupting whatever we're doing on the console. This patch reduces this to only one message per sequence of errors, and one more message if communication with HDQ is successful later. Signed-off-by: Werner Almesberger <werner@openmoko.org>
2009-03-11Enable camera interface clockWerner Almesberger
This patch explicitly enabled to "camif" clock, to make the driver work again with Qi commit a24b5fcf84d2cf633a3f660edd23fa4c2a3da231. Note that this is not fully tested since the Qi change also broke the LCM driver. Signed-off-by: Werner Almesberger <werner@openmoko.org>
2009-03-11fix-hdq-suspend-level.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2009-03-10add primitive camera power controlWerner Almesberger
This dirty hack adds camera activation/deactivation on open/close. This code will have to move to a machine/platform area later. The general driver is the wrong place for it. It also removes the unconditional activation and moves the domain setting to the rest of the power control code. (Thanks, Andy !) Note that opening the camera now always takes about 20 seconds until the settings are downloaded, not just on the first open. Signed-off-by: Werner Almesberger <werner@openmoko.org>
2009-03-10Add filter_chain objectNelson Castillo
Filter chains should be completely opaque to the drivers that use it. We fix this with this patch. ~ Make the "filter chain" a new object. ~ We can build with CONFIG_TOUCHSCREEN_FILTER=n with no problems in a cleaner way. ~ Update s3c2410_ts.c to use the filter_chain object. ~ Cleanups. Signed-off-by: Nelson Castillo <arhuaco@freaks-unidos.net>
2009-03-10Export symbols and make a few symbols constant.Nelson Castillo
~ Make a few symbols constant. ~ Export symbols explicitly. ~ Move ts_filter.c to ts_filter_chain.c (this will make sense later). Signed-off-by: Nelson Castillo <arhuaco@freaks-unidos.net>
2009-03-10Use non-void configurationsNelson Castillo
This patch defines a ts_filter_configuration structure to avoid using void* in the filter initialization, fixing another upstream correction. This also makes the initialization more readable. Tested in GTA02/rev6. Other changes: ~ Comment filter configuration structures. ~ ts_filter.c:ts_filter_chain_create improved. ~ Small cleanups. ~ More TODOs/FIXMEs. ~ Updated GTA02 filter configuration. ~ Updated GTA01 filter configuration. ~ Updated mach-s3c2410/include/mach/ts.h for the new ts. configuration structure. ~ Updated all the filters to use the new configuration structure. ~ Removed MAX_TS_FILTER_CHAIN constant that is no longer needed. No more evil casts left it seems. Signed-off-by: Nelson Castillo <arhuaco@freaks-unidos.net>
2009-03-10Improve filter API and update filtersNelson Castillo
This patch turns upstream feedback into API modifications and code improvements. There will be more patches implementing upstream corrections but this one is the that will make most of the invasive changes and make the most important improvements to the API. Tested in a GTA02/rev06. The goals of this patch are: * Replace recursive calls with iteration. * General code improvements. * Make ts_filter_mean.c a reference for the rest of the filters. * Make the (almost)minimum number of changes to the other filters so that they compile and work, patches for cleaning these up will come next. * Filters should do what they were doing before. Some important changes: * Move "struct ts_filter tsf" in the private structures to force a crash (or break things) if we forget to remove an open-coded cast. * ts_filter.c/ts_filter.h ~ API modifications. * s3c2410_ts.c: ~ Use the new API. ~ Cleanups. * ts_filter_mean.c ~ Replace with a simple mean. ~ Use as a reference for the new API. ~ Move private structure from the .h to the .c. * ts_filter_group.c ~ Update to use the new API. * ts_filter_median.c ~ Update to use the new API. * ts_filter_linear.c ~ Remove functions that are no longer needed. Note: I might leave some TODOs and FIXMEs with this patch. Most of them will be removed shortly. Signed-off-by: Nelson Castillo <arhuaco@freaks-unidos.net>
2009-03-10Fix the start condition of comparing setup mode in lp5521 device.Matt Hsu
Signed-off-by: Matt Hsu <matt_hsu@openmoko.org>
2009-03-09Clean up camera driverWerner Almesberger
This patch does some light cleanup on the camera driver: - removed unused return values or unused initializations - remove backslashes at regular line ends (Python-style ?) - removed redundant casts - remove redundant parentheses - wrapped long lines - general whitespace cleanup - fixed broken logic in s3c_camif_v4l2_g_input and s3c_camif_v4l2_g_output - let mutex that really really wants to be a semaphore have its way Signed-off-by: Werner Almesberger <werner@openmoko.org>
2009-03-09Adjust MCLK for use with PLLWerner Almesberger
The PLL converts a 26.6 MHz input clock to 87.8 MHz, which is later divided by two and becomes PCLK. (See comments below for details.) All this looks like a textbook example for platform stuff, but let's take it one step a time. Signed-off-by: Werner Almesberger <werner@openmoko.org>
2009-03-09Clean up camera sensor driverWerner Almesberger
This patch does some light cleanup on the S5K4BA driver: - change structure initializers from field: to .field = syntax - exlicitly name fields in structure initializers - added proper error handling to sensor_read - use ARRAY_SIZE - remove redundant parentheses and braces - change // to /* ... */ - remove non-ASCII characters - general whitespace cleanup - removed an unused variable warning (4xa_sensor.h is only partially cleaned up.) Signed-off-by: Werner Almesberger <werner@openmoko.org>
2009-03-09Clean up camera interface driverWerner Almesberger
This patch does some cleanup on the camera interface driver: - remove backslashes at regular line ends (Python-style ?) - removed unused return values or unused initializations - combined duplicated or otherwise highly redundant code - remove redundant parentheses - wrapped long lines - general whitespace cleanup - s3c_camif_input_msdma_codec, s3c_camif_input_msdma_preview, s3c_camif_set_target_format: fixed clearing of old register values Signed-off-by: Werner Almesberger <werner@openmoko.org>
2009-03-09clean-ohci-warning.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2009-03-09Subject: USB: Change s3c2410_ohci into s3c_ohci and change gta02 to use itBalaji Rao
X-Git-Url: http://git.openmoko.org/?p=kernel.git;a=commitdiff_plain;h=b55b8e56a4a7e43b7243be48f77a326236a37c68 USB: Change s3c2410_ohci into s3c_ohci and change gta02 to use it Signed-off-by: Balaji Rao <balajirrao@openmoko.org>
2009-03-09(AG: there's some more rationale for changing this hereNeil Brown
http://lists.openmoko.org/pipermail/openmoko-kernel/2009-March/009387.html ) Change accelerometers to use ABS events rather than REL events. [Obviously if this patch is accepted we need to tell developers about it. I have a number of other improvements to the accelerometers I hope to deliver over the next couple of weeks. They will have minimal or zero disruption to current code. ] REL events should be used when there is no absolute reference, and only changes are meaningful. The classic example is a "mouse" where the absolute position of the device is not measurable and not particularly meaning, but change in position from one time to the next is interesting. With REL events, a value of '0' is not reported, as 'not change' is not interesting. With REL events, the expectation is that successive values will be eventually summed (possibly with acceleration and clipping adjustments) to get a usable value. ABS events should be used when there is an absolute references against which things that be measured. With ABS events, the 'current value' is meaningful and can be read (EVIOCGABS). With ABS events, the value '0' is very meaningful and is reported. However if consecutive values are the same, the value is only reported once. ABS events can be used as-is or compared with previous events to get some measure of change. An obvious example is a touchscreen where each measure in independently meaningful. Acceleration is an absolute value as it is measuring against a frame of reference. '0' acceleration is just as meaningful as any other value, and finding the 'current' acceleration is each direction is a potentially useful thing to do. The Freerunner accelerometers currently report REL events. This is wrong. So this patch changes them to report ABS events. With this patch, the min/max/level/fuzz values are left at zero. It might be useful to make use of these in a subsequent patch. min/max/level can be used to calibrate the accelerometers if accuracy is important. fuzz could possibly be used in conjunction with the 'threshold' sysfs value to get less frequent, lower-precision reports. This may well break some applications that read accelerometer data. This cannot be helped, but it is quite easy to write code that copes with the incorrect EV_REL events as well as the more correct and useful EV_ABS events. Signed-off-by: NeilBrown <neilb@suse.de>
2009-03-07Increase camera IO drive strength from 2 mA to 8 mAWerner Almesberger
The camera driver reduced all IO drivers from their reset defaults of 6 mA to only 2 mA, which caused severe signal distortion at higher speeds. This patch sets them to 8 mA and also removes apparently useless repetitions of the setting. Note that the correct setting of the I2C pullups still needs to be verified. Signed-off-by: Werner Almesberger <werner@openmoko.org>
2009-03-06Re-write lp5521 LED driver.Matt Hsu
- provide clean sysfs to control RGB channel directly. They are looked like the following: channel_mode channel_pwm channel_cur - add platform data to export RGB channel accordingly. Signed-off-by: Matt Hsu <matt_hsu@openmoko.org>
2009-03-05Dirty hacks to make it all workWerner Almesberger
A few dirty hacks to make the camera driver work: - because V4L no longer guarantees that minor numbers provided by the client are actually used, the preview/codec selection mechanism falls apart. We work around this by defaulting to preview when we don't know better. - power up the camera in platform code, not cleanly via power control device. Signed-off-by: Werner Almesberger <werner@openmoko.org>