View source for Kernel/Upstreaming
From Openmoko
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Return to Kernel/Upstreaming.
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Return to Kernel/Upstreaming.
ARM: s3c24xx: Set ARCH_NR_GPIOS according to the selected SoC types. Currently the code in gpiolib.c tries to register GPIO BANKA-BANKM. ARCH_NR_GPIOS on the other hand is set only to 256, which would be the equivalent of BANKA-BANKH. Thus the registration of all other banks will fail. This patch fixes this by setting S3C_GPIO_END according to the selected SoC types. S3C_GPIO_END is set to the maximum of the number of GPIOs over all selected SoC types. Thus it is ensured that memory is not wasted if support for SoCs with higher GPIO numbers is not built-in. When registering the bank it is made sure that banks which are outside of that range are not even tried to be registered. Otherwise there would be problems with configs where CONFIG_S3C24XX_GPIO_EXTRA is set to a non zero value. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
C:
s3c24xx: Fix level irqs on external interrupts. Although the external interrupts support level and edge triggered irqs their handler is currently always set to handle_edge_irq(). While being technically wrong for a level triggered irq to be handled by handle_edge_irq() it will cause serious problems in combination with a oneshot irq. handle_edge_irq() will unmask the irq immediately and as a result the irq will be triggered again before the threaded irq handler had a chance to run and clear the irq source. Thus level triggered irqs should be handled by handle_level_irq. According to the specs the irq controller will remember if an irq has been triggered while it had been masked and will issue it when the irq gets unmasked. Thus it is sufficient to use handle_level_irq() for edge triggered irqs as well. Hence handle_level_irq() can always be used for external interrupts. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
C:
mtd: s3c2410_nand: Add config option to disable hw ecc at runtime This patch adds a flag to the s3c2410_nand platform data, which configures whether hardware ecc is used for that chip. Currently hardware ecc is used if it was compiled into the kernel. But if you want to build a kernel which runs on multiple devices you might have a configuration where you have devices which require hw ecc as well as devices which want software ecc. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
C:
Add s3c24xx_serial_console_set_silence
C:
Add c fiq handler.
C:
mmc: add none blocking mmc request function Previously there has only been one function mmc_wait_for_req to start and wait for a request. This patch adds * mmc_start_req - starts a request wihtout waiting * mmc_wait_for_req_done - waits until request is done * mmc_pre_req - asks the host driver to prepare for the next job * mmc_post_req - asks the host driver to clean up after a completed job The intention is to use pre_req() and post_req() to do cache maintenance while a request is active. pre_req() can be called while a request is active to minimize latency to start next job. post_req() can be used after the next job is started to clean up the request. This will minimize the host driver request end latency. post_req() is typically used before ending the block request and handing over the buffer to the block layer. Add a host-private member in mmc_data to be used by pre_req to mark the data. The host driver will then check this mark to see if the data is prepared or not. Signed-off-by: Per Forlin <per.forlin@linaro.org>
C:
mmc: mmc_test: add debugfs file to list all tests Add a debugfs file "testlist" to print all available tests Signed-off-by: Per Forlin <per.forlin@linaro.org>
C:
mmc: mmc_test: add test for none blocking transfers Add four tests for read and write performance per different transfer size, 4k to 4M. * Read using blocking mmc request * Read using none blocking mmc request * Write using blocking mmc request * Write using none blocking mmc request The host dirver must support pre_req() and post_req() in order to run the none blocking test cases. Signed-off-by: Per Forlin <per.forlin@linaro.org>
C:
mmc: add member in mmc queue struct to hold request data The way the request data is organized in the mmc queue struct it only allows processing of one request at the time. This patch adds a new struct to hold mmc queue request data such as sg list, request, blk request and bounce buffers, and updates any functions depending on the mmc queue struct. This lies the ground for using multiple active request for one mmc queue. Signed-off-by: Per Forlin <per.forlin@linaro.org>
C:
mmc: add a block request prepare function Break out code from mmc_blk_issue_rw_rq to create a block request prepare function. This doesn't change any functionallity. This helps when handling more than one active block request. Signed-off-by: Per Forlin <per.forlin@linaro.org>
C:
mmc: move error code in mmc_block_issue_rw_rq to a separate function. Break out code without functional changes. This simplifies the code and makes way for handle two parallel request. Signed-off-by: Per Forlin <per.forlin@linaro.org>
C:
mmc: add a second mmc queue request member Add an additional mmc queue request instance to make way for two active block requests. One request may be active while the other request is being prepared. Signed-off-by: Per Forlin <per.forlin@linaro.org>
C:
mmc: add handling for two parallel block requests in issue_rw_rq Change mmc_blk_issue_rw_rq() to become asynchronous. The execution flow looks like this: The mmc-queue calls issue_rw_rq(), which sends the request to the host and returns back to the mmc-queue. The mmc-queue calls isuue_rw_rq() again with a new request. This new request is prepared, in isuue_rw_rq(), then it waits for the active request to complete before pushing it to the host. When to mmc-queue is empty it will call isuue_rw_rq() with req=NULL to finish off the active request without starting a new request. Signed-off-by: Per Forlin <per.forlin@linaro.org>
C:
mmc: test: add random fault injection in core.c This simple fault injection proved to be very useful to test the error handling in the block.c rw_rq(). It may still be useful to test if the host driver handle pre_req() and post_req() correctly in case of errors. Signed-off-by: Per Forlin <per.forlin@linaro.org>
C:
Add glamo driver.
C:
ARM: gta02: Add LED support This patch adds support for the LEDs found on the gta02 device. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
C:
gta02: Disable hardware ECC unless we get instructed to enable it Early verions off uboot used for the gta02 flashed the nand with ecc information incompatible to s3c2440 hardware ecc. Disable hardware error correction by default, unless the bootloader explicitly enables it. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
C:
gta02: Remove usage of pcf50633 gpio api This is the only user of the pcf50633 gpio api. Since the custom interface is going to be replaced with gpiolib all users need to be remove or replaced. It is safe to be remove it in this case since it is used used to turn a gpio off which is never going to be turned on. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
C:
s3c2440: gta02: Configure pcf50633 gpios.
C:
ARM: s3c2440: GTA02: Select SPARSE_IRQ With the conversion of the pcf50633 driver to genirq we need some extra irqs. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
C:
gta02: Add notify handler to probe device children On the gta02 we often have a child parent relationship between different devices. The child devices can only be probed after their parant has been. Instead of adding a probe completed handler to each device we handle this in a generic way with a bus notifier. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
C:
gta02: Add bt power management device
C:
gta02: Add gps power management device
C:
gta02: Add gsm power management device
C:
gta02: Add wlan power management device
C:
gta02: Add glamo device
C:
Add jbt device.
C:
gta02: Add fiq handler
C:
gta02: Add battery driver
C:
gta02: add support for platform_battery This adds support for platform_battery driver which allows to specify a set of power supply properties and callbacks to acquire them. It is needed to support dumb batteries where all the information about their status can only be obtained by platform-specific actions such as specific ADC measurements, some guessimation etc. Signed-off-by: Paul Fertser <fercerpav@gmail.com>
C:
Add atheros sdio ids.
C:
Add ar6000 wireless driver.
C:
Add jbt6k74 display driver.
C:
LEDS: leds-pwm: Add init, notfiy and exit callbacks This patch adds init, notify and exit callbacks to the leds-pwm driver similar to those seen for the pwm-backlight driver; On certain platforms with pin muxing the output of a pwm pin is bogus until the pwm is been properly configured. On these platforms it is usefull to have the added callbacks, so that the gpio pin can be configured after the pwm device has been successfully configured. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
C:
RTC: PCF50633: Don't request update IRQ Commit 51ba60c5(RTC: Cleanup rtc_class_ops->update_irq_enable()) removed the only user of the update IRQ, so there is no need to manage it anymore. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
C:
pcf50633-gpio: Add gpiolib support.
C:
pcf50633: Move pcf50633-gpio driver to the gpio drivers folder
C:
MFD: pcf50633: Use mfd cells to register child devices This patch changes the pcf50633 core code to use mfd cells to register child devices instead of calling platform_device_{alloc,add} for each child. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
C:
MFD: pcf50633: Use the genirq for irq handling
C:
power: implement platform battery driver This driver can be used for dumb batteries when all knowledge about their state belongs to the platform that does necessary ADC readings, conversions, guessimations etc. Signed-off-by: Paul Fertser <fercerpav@gmail.com>
C:
Define machine_is_neo1973_gta01()
C:
Revert "mmc: test: add random fault injection in core.c" This reverts commit e2f2d8fbcfd43b995f4c205e80ecbb35c8c2bb38.
C:
Revert "mmc: add handling for two parallel block requests in issue_rw_rq" This reverts commit a6f554d181bf8bdc06da545aa198aea298feda74.
C:
Revert "mmc: add a second mmc queue request member" This reverts commit 6d08e164f59139f5fc36bfa9957743f377fea37d.
C:
Revert "mmc: move error code in mmc_block_issue_rw_rq to a separate function." This reverts commit 4c7bcaa251685ef3d718117c9e8c47595e3347db.
C:
Revert "mmc: add a block request prepare function" This reverts commit b6284f0b4f90e8736a775d69712fae570fefbd6f.
C:
Revert "mmc: add member in mmc queue struct to hold request data" This reverts commit 0a52143f49a7cae45c1de07ba08be3687cb7c0e4.
C:
Revert "mmc: mmc_test: add test for none blocking transfers" This reverts commit 39e2e8264c430520dd28372e4155fc0473c2be5c.
C:
Revert "mmc: mmc_test: add debugfs file to list all tests" This reverts commit 1b964818989d1af7c15529eaf2e15da3d251cfd0.
C:
Revert "mmc: add none blocking mmc request function" This reverts commit 63633272709773487926b8116dbfac918176d07d.
C:
glamo-mci: revert changes for Per's patchset Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
C:
nand/s3c2410: add mising badblocksbits value Here is a fix for the issue where badblocks were not being handled correctly with the new kernel. There was an uninitialized value in the nand chip description. There may be others. Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
C:
Openmoko resume reason sysfs node ported from 2.6.29 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
C:
glamo-display: fix WSOD for 242 timming Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
C:
Enable powering off after 8s POWER press Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
C:
gta02: add support for usb host mode adds support for usb host mode and adds usb host pm sysfs node. I just copied and modified how modem is powered up and backported changes in ohci-s3c2410.c. No idea if this is the right approach, but it works - my usb keyboard is now working after: echo 1 > /sys/devices/platform/s3c2440-i2c/i2c-0/0-0073/pcf50633-gpio/reg-fixed-voltage.2/gta02-pm-usbhost.0/power_on echo host > /sys/devices/platform/s3c2410-ohci/usb_mode Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
C:
ar6000_delay.patch patch from https://docs.openmoko.org/trac/ticket/2327 - wifi is working good (100% until now) for me with this patch. Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
C:
wm8753: use snd_soc_jack on neo1973 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
C:
Fix high power consumption in suspend http://docs.openmoko.org/trac/ticket/2349 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
C:
Force GPS power up on resume if it were powered up on suspend This is needed for proper GPS funciton with u-boot. u-boot needs to be patched with this patch: http://www.bsdmn.com/openmoko/gpsfix/uboot_do_not_touch_serials.patch Idea of above patch is to keep u-boot from controlling serial's GPIO configuration. It turned out that u-boot also touch GSM port configuration on resume. This turns this off. Whole thread can be found here: http://lists.openmoko.org/pipermail/openmoko-kernel/2010-November/011274.html Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
C:
lis302dl accelerometer driver This is port from andy-tracking openmoko git. It's not the latest version, because the latest touches core spi functions. This one is the latest version that does bit banging in mach-gta02 and is based on 83cf37799009f6a3db4fef141c798c876124954f. Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
C:
input: lis302dl: fix the resume path This fix the resume path of the accelerometer. If the accelerometer is not power up, restore to initial status. Move the REG_CTRL1 to the last one position avoid writing on the register when the device is in power down mode. Signed-off-by: Michael Trimarchi <michael@panicking.kicks-ass.org> Signed-off-by: Paul Fertser <fercerpav@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
C:
lis302dl: use ABS events rather then REL events AG: there's some more rationale for changing this here 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> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
C:
Fix compile error for gta02 accelerometer. Switched to genirq call for irq_set_handler. set_irq_handler is deprecated and no longer compiles. Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
C:
tslib relies on ts pressures events so this hack is needed to get tslib stuff working Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
C:
touchscreen: ignore unexpected interrupts Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
C:
s3c2410_ts: jitter less touchscreen for glamo, version 4 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Conflicts: arch/arm/mach-s3c2440/mach-gta02.c drivers/input/touchscreen/s3c2410_ts.c
C:
wm8753: allow setting DAI mode even while pcm is active Without this patch the DAI mode can't be set while a pcm stream is running as that might lead to kernel freezing. This patch allows setting it to the same value to make scenario loading work. Signed-off-by: Klaus Kurzmann <mok@fluxnetz.de>
C:
Add .config from http://build.shr-project.org/tests/jama/kernel-nodrm/config-2.6.39.gz
C:
Workaround toolchain bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48783
C:
First attempt at fixing openmoko bug #2478
C: