diff options
| author | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2008-09-25 12:31:11 +0000 |
|---|---|---|
| committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2008-09-25 12:31:11 +0000 |
| commit | 18b8a107ca4f903a486988b9562c8055ada1c018 (patch) | |
| tree | a8c9019724f4f3c55b6b59b8259439ce5ec885e9 /packages/linux | |
| parent | 627c4ce3d477576fcf1f13949341c9894f913061 (diff) | |
| parent | f98bbbba774cd1fa5c4d320639617218bc74b987 (diff) | |
merge of '0c1609602324e53bbaa1c371330798fbeb1adaec'
and '4375f1c5c294da70172d3a0d99da040cb85d66fd'
Diffstat (limited to 'packages/linux')
16 files changed, 234 insertions, 1464 deletions
diff --git a/packages/linux/linux-ezx_2.6.21.bb b/packages/linux/linux-ezx_2.6.21.bb index 7ba2556bb8..150a4a153c 100644 --- a/packages/linux/linux-ezx_2.6.21.bb +++ b/packages/linux/linux-ezx_2.6.21.bb @@ -8,6 +8,8 @@ require linux.inc RPSRC = "http://www.rpsys.net/openzaurus/patches/archive" +CFLAGS += "-DPATH_MAX=256" + SRC_URI = " \ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ file://logo_linux_clut224.ppm \ diff --git a/packages/linux/linux-omap/beagleboard/beagle-asoc.diff b/packages/linux/linux-omap/beagleboard/beagle-asoc.diff new file mode 100644 index 0000000000..6763d85c32 --- /dev/null +++ b/packages/linux/linux-omap/beagleboard/beagle-asoc.diff @@ -0,0 +1,212 @@ +From: Felipe Contreras <felipe.contreras@gmail.com> +To: linux-omap@vger.kernel.org +Cc: Felipe Contreras <felipe.contreras@gmail.com> +Subject: [PATCH] alsa: add Beagleboard SoC configuration. + +This is exactly the same as the overo configuration. It might make sense +to have them in a single one. + +Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> +--- + +This was suggested by Koen Kooi. + + sound/soc/omap/Kconfig | 8 ++ + sound/soc/omap/Makefile | 2 + + sound/soc/omap/omap3beagle.c | 149 ++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 159 insertions(+), 0 deletions(-) + create mode 100644 sound/soc/omap/omap3beagle.c + +diff --git a/sound/soc/omap/Kconfig b/sound/soc/omap/Kconfig +index d7b8939..ebad024 100644 +--- a/sound/soc/omap/Kconfig ++++ b/sound/soc/omap/Kconfig +@@ -22,3 +22,11 @@ config SND_OMAP_SOC_OVERO + help + Say Y if you want to add support for SoC audio on the Gumstix Overo. + ++config SND_OMAP_SOC_OMAP3_BEAGLE ++ tristate "SoC Audio support for OMAP3 Beagle" ++ depends on SND_OMAP_SOC && MACH_OMAP3_BEAGLE ++ select SND_OMAP_SOC_MCBSP ++ select SND_SOC_TWL4030 ++ help ++ Say Y if you want to add support for SoC audio on the Beagleboard. ++ +diff --git a/sound/soc/omap/Makefile b/sound/soc/omap/Makefile +index b96b97b..09fd0bb 100644 +--- a/sound/soc/omap/Makefile ++++ b/sound/soc/omap/Makefile +@@ -8,7 +8,9 @@ obj-$(CONFIG_SND_OMAP_SOC_MCBSP) += snd-soc-omap-mcbsp.o + # OMAP Machine Support + snd-soc-n810-objs := n810.o + snd-soc-overo-objs := overo.o ++snd-soc-omap3beagle-objs := omap3beagle.o + + obj-$(CONFIG_SND_OMAP_SOC_N810) += snd-soc-n810.o + obj-$(CONFIG_SND_OMAP_SOC_OVERO) += snd-soc-overo.o ++obj-$(CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE) += snd-soc-omap3beagle.o + +diff --git a/sound/soc/omap/omap3beagle.c b/sound/soc/omap/omap3beagle.c +new file mode 100644 +index 0000000..1d0e398 +--- /dev/null ++++ b/sound/soc/omap/omap3beagle.c +@@ -0,0 +1,149 @@ ++/* ++ * omap3beagle.c -- SoC audio for OMAP3 Beagle ++ * ++ * Author: Steve Sakoman <steve@sakoman.com> ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * version 2 as published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ++ * 02110-1301 USA ++ * ++ */ ++ ++#include <linux/clk.h> ++#include <linux/platform_device.h> ++#include <sound/core.h> ++#include <sound/pcm.h> ++#include <sound/soc.h> ++#include <sound/soc-dapm.h> ++ ++#include <asm/mach-types.h> ++#include <mach/hardware.h> ++#include <mach/gpio.h> ++#include <mach/mcbsp.h> ++ ++#include "omap-mcbsp.h" ++#include "omap-pcm.h" ++#include "../codecs/twl4030.h" ++ ++static int omap3beagle_hw_params(struct snd_pcm_substream *substream, ++ struct snd_pcm_hw_params *params) ++{ ++ struct snd_soc_pcm_runtime *rtd = substream->private_data; ++ struct snd_soc_dai *codec_dai = rtd->dai->codec_dai; ++ struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai; ++ int ret; ++ ++ /* Set codec DAI configuration */ ++ ret = snd_soc_dai_set_fmt(codec_dai, ++ SND_SOC_DAIFMT_I2S | ++ SND_SOC_DAIFMT_NB_NF | ++ SND_SOC_DAIFMT_CBM_CFM); ++ if (ret < 0) { ++ printk(KERN_ERR "can't set codec DAI configuration\n"); ++ return ret; ++ } ++ ++ /* Set cpu DAI configuration */ ++ ret = snd_soc_dai_set_fmt(cpu_dai, ++ SND_SOC_DAIFMT_I2S | ++ SND_SOC_DAIFMT_NB_NF | ++ SND_SOC_DAIFMT_CBM_CFM); ++ if (ret < 0) { ++ printk(KERN_ERR "can't set cpu DAI configuration\n"); ++ return ret; ++ } ++ ++ /* Set the codec system clock for DAC and ADC */ ++ ret = snd_soc_dai_set_sysclk(codec_dai, 0, 26000000, ++ SND_SOC_CLOCK_IN); ++ if (ret < 0) { ++ printk(KERN_ERR "can't set codec system clock\n"); ++ return ret; ++ } ++ ++ return 0; ++} ++ ++static struct snd_soc_ops omap3beagle_ops = { ++ .hw_params = omap3beagle_hw_params, ++}; ++ ++/* Digital audio interface glue - connects codec <--> CPU */ ++static struct snd_soc_dai_link omap3beagle_dai = { ++ .name = "TWL4030", ++ .stream_name = "TWL4030", ++ .cpu_dai = &omap_mcbsp_dai[0], ++ .codec_dai = &twl4030_dai, ++ .ops = &omap3beagle_ops, ++}; ++ ++/* Audio machine driver */ ++static struct snd_soc_machine snd_soc_machine_omap3beagle = { ++ .name = "omap3beagle", ++ .dai_link = &omap3beagle_dai, ++ .num_links = 1, ++}; ++ ++/* Audio subsystem */ ++static struct snd_soc_device omap3beagle_snd_devdata = { ++ .machine = &snd_soc_machine_omap3beagle, ++ .platform = &omap_soc_platform, ++ .codec_dev = &soc_codec_dev_twl4030, ++}; ++ ++static struct platform_device *omap3beagle_snd_device; ++ ++static int __init omap3beagle_soc_init(void) ++{ ++ int ret; ++ ++ printk(KERN_INFO "OMAP3 Beagle SoC init\n"); ++ if (!machine_is_omap3_beagle()) { ++ printk(KERN_ERR "Not OMAP3 Beagle!\n"); ++ return -ENODEV; ++ } ++ ++ omap3beagle_snd_device = platform_device_alloc("soc-audio", -1); ++ if (!omap3beagle_snd_device) { ++ printk(KERN_ERR "Platform device allocation failed\n"); ++ return -ENOMEM; ++ } ++ ++ platform_set_drvdata(omap3beagle_snd_device, &omap3beagle_snd_devdata); ++ omap3beagle_snd_devdata.dev = &omap3beagle_snd_device->dev; ++ *(unsigned int *)omap3beagle_dai.cpu_dai->private_data = 1; /* McBSP2 */ ++ ++ ret = platform_device_add(omap3beagle_snd_device); ++ if (ret) ++ goto err1; ++ ++ return 0; ++ ++err1: ++ printk(KERN_ERR "Unable to add platform device\n"); ++ platform_device_put(omap3beagle_snd_device); ++ ++ return ret; ++} ++ ++static void __exit omap3beagle_soc_exit(void) ++{ ++ platform_device_unregister(omap3beagle_snd_device); ++} ++ ++module_init(omap3beagle_soc_init); ++module_exit(omap3beagle_soc_exit); ++ ++MODULE_AUTHOR("Steve Sakoman <steve@sakoman.com>"); ++MODULE_DESCRIPTION("ALSA SoC OMAP3 Beagle"); ++MODULE_LICENSE("GPL"); +-- +1.6.0.1 + +-- +To unsubscribe from this list: send the line "unsubscribe linux-omap" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html + diff --git a/packages/linux/linux-omap/beagleboard/defconfig b/packages/linux/linux-omap/beagleboard/defconfig index 7de6a0aa90..9b9b941da1 100644 --- a/packages/linux/linux-omap/beagleboard/defconfig +++ b/packages/linux/linux-omap/beagleboard/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.27-rc5-omap1 -# Thu Sep 4 18:30:13 2008 +# Linux kernel version: 2.6.27-rc7-omap1 +# Thu Sep 25 12:46:23 2008 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -215,6 +215,7 @@ CONFIG_ARCH_OMAP3430=y # CONFIG_MACH_OMAP_3430SDP is not set # CONFIG_MACH_OMAP3EVM is not set CONFIG_MACH_OMAP3_BEAGLE=y +# CONFIG_MACH_OVERO is not set CONFIG_OMAP_TICK_GPTIMER=12 # @@ -329,7 +330,7 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y CONFIG_VFP=y CONFIG_VFPv3=y CONFIG_NEON=y -CONFIG_ARM_ERRATUM_451034=y +CONFIG_ARM_ERRATUM_451034=n # # Userspace binary formats @@ -920,7 +921,6 @@ CONFIG_GPIOLIB=y # CONFIG_DEBUG_GPIO is not set CONFIG_GPIO_SYSFS=y - # # I2C GPIO expanders: # @@ -1267,7 +1267,6 @@ CONFIG_FB_CFB_IMAGEBLIT=y CONFIG_FB_OMAP=y CONFIG_FB_OMAP_VIDEO_MODE="1024x768@60" # CONFIG_FB_OMAP_LCDC_EXTERNAL is not set -CONFIG_OMAP_FB_LCD_OMAP3BEAGLE=y # CONFIG_FB_OMAP_BOOTLOADER_INIT is not set CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=8 # CONFIG_BACKLIGHT_LCD_SUPPORT is not set @@ -1333,6 +1332,9 @@ CONFIG_SND_USB_CAIAQ=m CONFIG_SND_USB_CAIAQ_INPUT=y CONFIG_SND_SOC=y CONFIG_SND_OMAP_SOC=y +CONFIG_SND_OMAP_SOC_MCBSP=y +CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE=y +CONFIG_SND_SOC_TWL4030=y # CONFIG_SOUND_PRIME is not set CONFIG_HID_SUPPORT=y CONFIG_HID=y @@ -1361,7 +1363,7 @@ CONFIG_USB_DEVICEFS=y CONFIG_USB_DEVICE_CLASS=y # CONFIG_USB_DYNAMIC_MINORS is not set CONFIG_USB_SUSPEND=y -CONFIG_USB_OTG=y +# CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OTG_BLACKLIST_HUB is not set CONFIG_USB_MON=y @@ -1386,14 +1388,13 @@ CONFIG_USB_MUSB_SOC=y # # OMAP 343x high speed USB support # -# CONFIG_USB_MUSB_HOST is not set +CONFIG_USB_MUSB_HOST=y # CONFIG_USB_MUSB_PERIPHERAL is not set -CONFIG_USB_MUSB_OTG=y -CONFIG_USB_GADGET_MUSB_HDRC=y +# CONFIG_USB_MUSB_OTG is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set CONFIG_USB_MUSB_HDRC_HCD=y # CONFIG_MUSB_PIO_ONLY is not set CONFIG_USB_INVENTRA_DMA=y -CONFIG_MUSB_USE_SYSTEM_DMA_RX=y # CONFIG_USB_TI_CPPI_DMA is not set # CONFIG_USB_MUSB_DEBUG is not set @@ -1527,7 +1528,8 @@ CONFIG_USB_GADGET_SELECTED=y # CONFIG_USB_GADGET_FSL_USB2 is not set # CONFIG_USB_GADGET_NET2280 is not set # CONFIG_USB_GADGET_PXA25X is not set -# CONFIG_USB_GADGET_M66592 is not set +CONFIG_USB_GADGET_M66592=y +CONFIG_USB_M66592=y # CONFIG_USB_GADGET_PXA27X is not set # CONFIG_USB_GADGET_GOKU is not set # CONFIG_USB_GADGET_LH7A40X is not set diff --git a/packages/linux/linux-omap_git.bb b/packages/linux/linux-omap_git.bb index 05448f1c23..ec9e2c0f9c 100644 --- a/packages/linux/linux-omap_git.bb +++ b/packages/linux/linux-omap_git.bb @@ -6,16 +6,15 @@ KERNEL_IMAGETYPE = "uImage" COMPATIBLE_MACHINE = "omap5912osk|omap1710h3|omap2430sdp|omap2420h4|beagleboard|omap3evm" -SRCREV = "de1121fdb899f762" +SRCREV = "9d1dff8638c9e96a401e1885f9948662e9ff9636" PV = "2.6.26+2.6.27-rc6+${PR}+git${SRCREV}" -PR = "r5" +PR = "r7" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git;protocol=git \ file://defconfig" SRC_URI_append = " \ - file://timer-suppression.patch;patch=1 \ file://no-empty-flash-warnings.patch;patch=1 \ file://oprofile-0.9.3.armv7.diff;patch=1 \ file://no-cortex-deadlock.patch;patch=1 \ @@ -31,7 +30,6 @@ SRC_URI_append = " \ file://mru-improve-pixclock-config.diff;patch=1 \ file://mru-make-video-timings-selectable.diff;patch=1 \ file://mru-enable-overlay-optimalization.diff;patch=1 \ - file://strongly-ordered-memory.diff;patch=1 \ " temporarely-disabled = " \ @@ -39,7 +37,8 @@ temporarely-disabled = " \ " SRC_URI_append_beagleboard = " file://logo_linux_clut224.ppm \ - " + file://beagle-asoc.diff;patch=1 \ + " SRC_URI_append_omap3evm = " \ file://OMAP3EVM_TWL4030-Keypad-irq-error-fix.patch;patch=1 \ diff --git a/packages/linux/linux-openezx-devel_svn.bb b/packages/linux/linux-openezx-devel_svn.bb index 6c0af7cfb6..17156535ea 100644 --- a/packages/linux/linux-openezx-devel_svn.bb +++ b/packages/linux/linux-openezx-devel_svn.bb @@ -55,6 +55,7 @@ CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_IP} ${CMDLINE_ROTATE} ${CMDL do_prepatch() { mv ${WORKDIR}/${KERNEL_PATCHES}/defconfig-${MACHINE} ${WORKDIR}/defconfig +# mv ${WORKDIR}/defconfig-${MACHINE} ${WORKDIR}/defconfig mv ${WORKDIR}/${KERNEL_PATCHES} ${S}/patches && cd ${S} && quilt push -av mv patches patches.openezx mv .pc .pc.old diff --git a/packages/linux/linux-openmoko/fix-EVIOCGRAB-semantics-2.6.22.5.patch b/packages/linux/linux-openmoko/fix-EVIOCGRAB-semantics-2.6.22.5.patch deleted file mode 100644 index cc74c0e289..0000000000 --- a/packages/linux/linux-openmoko/fix-EVIOCGRAB-semantics-2.6.22.5.patch +++ /dev/null @@ -1,91 +0,0 @@ -Index: linux-2.6.22.5/drivers/input/evdev.c -=================================================================== ---- linux-2.6.22.5.orig/drivers/input/evdev.c -+++ linux-2.6.22.5/drivers/input/evdev.c -@@ -28,7 +28,7 @@ struct evdev { - char name[16]; - struct input_handle handle; - wait_queue_head_t wait; -- struct evdev_client *grab; -+ int grab; - struct list_head client_list; - }; - -@@ -36,6 +36,7 @@ struct evdev_client { - struct input_event buffer[EVDEV_BUFFER_SIZE]; - int head; - int tail; -+ int grab; - struct fasync_struct *fasync; - struct evdev *evdev; - struct list_head node; -@@ -48,8 +49,7 @@ static void evdev_event(struct input_han - struct evdev *evdev = handle->private; - struct evdev_client *client; - -- if (evdev->grab) { -- client = evdev->grab; -+ list_for_each_entry(client, &evdev->client_list, node) { - - do_gettimeofday(&client->buffer[client->head].time); - client->buffer[client->head].type = type; -@@ -58,17 +58,7 @@ static void evdev_event(struct input_han - client->head = (client->head + 1) & (EVDEV_BUFFER_SIZE - 1); - - kill_fasync(&client->fasync, SIGIO, POLL_IN); -- } else -- list_for_each_entry(client, &evdev->client_list, node) { -- -- do_gettimeofday(&client->buffer[client->head].time); -- client->buffer[client->head].type = type; -- client->buffer[client->head].code = code; -- client->buffer[client->head].value = value; -- client->head = (client->head + 1) & (EVDEV_BUFFER_SIZE - 1); -- -- kill_fasync(&client->fasync, SIGIO, POLL_IN); -- } -+ } - - wake_up_interruptible(&evdev->wait); - } -@@ -105,9 +95,10 @@ static int evdev_release(struct inode *i - struct evdev_client *client = file->private_data; - struct evdev *evdev = client->evdev; - -- if (evdev->grab == client) { -- input_release_device(&evdev->handle); -- evdev->grab = NULL; -+ if (client->grab) { -+ if(!--evdev->grab && evdev->exist) -+ input_release_device(&evdev->handle); -+ client->grab = 0; - } - - evdev_fasync(-1, file, 0); -@@ -488,17 +479,19 @@ static long evdev_ioctl_handler(struct f - - case EVIOCGRAB: - if (p) { -- if (evdev->grab) -- return -EBUSY; -- if (input_grab_device(&evdev->handle)) -+ if (client->grab) - return -EBUSY; -- evdev->grab = client; -+ if (!evdev->grab++) -+ if (input_grab_device(&evdev->handle)) -+ return -EBUSY; -+ client->grab = 0; - return 0; - } else { -- if (evdev->grab != client) -+ if (!client->grab) - return -EINVAL; -- input_release_device(&evdev->handle); -- evdev->grab = NULL; -+ if (!--evdev->grab) -+ input_release_device(&evdev->handle); -+ client->grab = 0; - return 0; - } - diff --git a/packages/linux/linux-openmoko/fix-EVIOCGRAB-semantics.patch b/packages/linux/linux-openmoko/fix-EVIOCGRAB-semantics.patch deleted file mode 100644 index 3c96faa271..0000000000 --- a/packages/linux/linux-openmoko/fix-EVIOCGRAB-semantics.patch +++ /dev/null @@ -1,97 +0,0 @@ -diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c -index 12c7ab8..c7e741b 100644 ---- a/drivers/input/evdev.c -+++ b/drivers/input/evdev.c -@@ -29,7 +29,7 @@ struct evdev { - char name[16]; - struct input_handle handle; - wait_queue_head_t wait; -- struct evdev_list *grab; -+ int grab; - struct list_head list; - }; - -@@ -37,6 +37,7 @@ struct evdev_list { - struct input_event buffer[EVDEV_BUFFER_SIZE]; - int head; - int tail; -+ int grab; - struct fasync_struct *fasync; - struct evdev *evdev; - struct list_head node; -@@ -49,8 +50,7 @@ static void evdev_event(struct input_han - struct evdev *evdev = handle->private; - struct evdev_list *list; - -- if (evdev->grab) { -- list = evdev->grab; -+ list_for_each_entry(list, &evdev->list, node) { - - do_gettimeofday(&list->buffer[list->head].time); - list->buffer[list->head].type = type; -@@ -59,17 +59,7 @@ static void evdev_event(struct input_han - list->head = (list->head + 1) & (EVDEV_BUFFER_SIZE - 1); - - kill_fasync(&list->fasync, SIGIO, POLL_IN); -- } else -- list_for_each_entry(list, &evdev->list, node) { -- -- do_gettimeofday(&list->buffer[list->head].time); -- list->buffer[list->head].type = type; -- list->buffer[list->head].code = code; -- list->buffer[list->head].value = value; -- list->head = (list->head + 1) & (EVDEV_BUFFER_SIZE - 1); -- -- kill_fasync(&list->fasync, SIGIO, POLL_IN); -- } -+ } - - wake_up_interruptible(&evdev->wait); - } -@@ -104,9 +94,10 @@ static int evdev_release(struct inode * - { - struct evdev_list *list = file->private_data; - -- if (list->evdev->grab == list) { -- input_release_device(&list->evdev->handle); -- list->evdev->grab = NULL; -+ if (list->grab) { -+ if(!--list->evdev->grab && list->evdev->exist) -+ input_release_device(&list->evdev->handle); -+ list->grab = 0; - } - - evdev_fasync(-1, file, 0); -@@ -483,17 +474,19 @@ static long evdev_ioctl_handler(struct f - - case EVIOCGRAB: - if (p) { -- if (evdev->grab) -- return -EBUSY; -- if (input_grab_device(&evdev->handle)) -+ if (list->grab) - return -EBUSY; -- evdev->grab = list; -+ if (!evdev->grab++) -+ if (input_grab_device(&evdev->handle)) -+ return -EBUSY; -+ list->grab = 0; - return 0; - } else { -- if (evdev->grab != list) -+ if (!list->grab) - return -EINVAL; -- input_release_device(&evdev->handle); -- evdev->grab = NULL; -+ if (!--evdev->grab) -+ input_release_device(&evdev->handle); -+ list->grab = 0; - return 0; - } - -- -To unsubscribe from this list: send the line "unsubscribe linux-kernel" in -the body of a message to majordomo@vger.kernel.org -More majordomo info at http://vger.kernel.org/majordomo-info.html -Please read the FAQ at http://www.tux.org/lkml/ - diff --git a/packages/linux/linux-openmoko/fix-gta01-flowcontrol2-2.6.22.5.patch b/packages/linux/linux-openmoko/fix-gta01-flowcontrol2-2.6.22.5.patch deleted file mode 100644 index ddb58f0cdb..0000000000 --- a/packages/linux/linux-openmoko/fix-gta01-flowcontrol2-2.6.22.5.patch +++ /dev/null @@ -1,193 +0,0 @@ ---- linux-2.6.22.5/arch/arm/common/gta01_pm_gsm.c.orig 2007-09-27 11:23:20.000000000 -0500 -+++ linux-2.6.22.5/arch/arm/common/gta01_pm_gsm.c 2007-09-27 21:09:00.000000000 -0500 -@@ -23,6 +23,9 @@ - #include <asm/arch/gta01.h> - #include <asm/arch/gta02.h> - -+#include <linux/serial_core.h> -+void s3c24xx_set_flow_control(struct uart_port *port, int fc_on); -+ - struct gta01pm_priv { - int gpio_ngsm_en; - struct console *con; -@@ -49,6 +52,23 @@ - static ssize_t gsm_read(struct device *dev, struct device_attribute *attr, - char *buf) - { -+ struct uart_driver *udrive = NULL; -+ struct uart_state *ustate = NULL; -+ struct uart_port *uport = NULL; -+ -+ if (gta01_gsm.con) { -+ udrive = gta01_gsm.con->data; -+ if (udrive) { -+ ustate = udrive->state; -+ if (ustate) { -+ uport = ustate->port; -+ } -+ } -+ } -+ printk("gsm: gsm_read of \"%s\"\n", attr->attr.name); -+ printk("gsm: con=%p udrive=%p ustate=%p uport=%p\n", -+ gta01_gsm.con, udrive, ustate, uport); -+ - if (!strcmp(attr->attr.name, "power_on")) { - if (s3c2410_gpio_getpin(GTA01_GPIO_MODEM_ON)) - goto out_1; -@@ -58,6 +78,24 @@ - } else if (!strcmp(attr->attr.name, "download")) { - if (s3c2410_gpio_getpin(GTA01_GPIO_MODEM_DNLOAD)) - goto out_1; -+ } else if (!strcmp(attr->attr.name, "flowcontrol")) { -+ if (uport) { -+ if (uport->unused[2] & 0x2) { -+ if (uport->unused[2] & 0x1) { -+ printk("gsm: flow control allowed and on\n"); -+ goto out_1; -+ } else { -+ printk("gsm: flow control allowed and not on\n"); -+ } -+ } else { -+ if (uport->unused[2] & 0x1) -+ printk("gsm: flow control not allowed, " -+ "but is pending\n"); -+ else -+ printk("gsm: flow control not allowed, " -+ "not pending\n"); -+ } -+ } - } - - return strlcpy(buf, "0\n", 3); -@@ -68,10 +106,26 @@ - static ssize_t gsm_write(struct device *dev, struct device_attribute *attr, - const char *buf, size_t count) - { -+ struct uart_driver *udrive = NULL; -+ struct uart_state *ustate = NULL; -+ struct uart_port *uport = NULL; -+ static int was_on = 0; - unsigned long on = simple_strtoul(buf, NULL, 10); - -+ if (gta01_gsm.con) { -+ udrive = gta01_gsm.con->data; -+ if (udrive) { -+ ustate = udrive->state; -+ if (ustate) { -+ uport = ustate->port; -+ } -+ } -+ } -+ printk("gsm: con=%p udrive=%p ustate=%p uport=%p\n", -+ gta01_gsm.con, udrive, ustate, uport); -+ - if (!strcmp(attr->attr.name, "power_on")) { -- if (on) { -+ if (on && !was_on) { - if (gta01_gsm.con) { - dev_info(dev, "powering up GSM, thus " - "disconnecting serial console\n"); -@@ -83,7 +137,24 @@ - s3c2410_gpio_setpin(gta01_gsm.gpio_ngsm_en, 0); - - s3c2410_gpio_setpin(GTA01_GPIO_MODEM_ON, 1); -- } else { -+ -+ if (uport) { -+ /* set any pending flow-control mode */ -+ uport->unused[2] |= 0x2; -+ s3c24xx_set_flow_control(uport, -+ (uport->unused[2] & 0x1)); -+ dev_info(dev, "flow control allowed\n"); -+ } -+ -+ was_on = 1; -+ -+ } else if (!on && was_on) { -+ if (uport) { -+ uport->unused[2] &= ~0x2; -+ s3c24xx_set_flow_control(uport, 0); -+ dev_info(dev, "flow control not allowed\n"); -+ } -+ - s3c2410_gpio_setpin(GTA01_GPIO_MODEM_ON, 0); - - if (gta01_gsm.gpio_ngsm_en) -@@ -95,6 +166,8 @@ - dev_info(dev, "powered down GSM, thus enabling " - "serial console\n"); - } -+ -+ was_on = 0; - } - } else if (!strcmp(attr->attr.name, "reset")) { - s3c2410_gpio_setpin(GTA01_GPIO_MODEM_RST, on); -@@ -105,6 +178,7 @@ - return count; - } - -+static DEVICE_ATTR(flowcontrol, 0644, gsm_read, gsm_write); - static DEVICE_ATTR(power_on, 0644, gsm_read, gsm_write); - static DEVICE_ATTR(reset, 0644, gsm_read, gsm_write); - static DEVICE_ATTR(download, 0644, gsm_read, gsm_write); -@@ -136,6 +210,7 @@ - #endif - - static struct attribute *gta01_gsm_sysfs_entries[] = { -+ &dev_attr_flowcontrol.attr, - &dev_attr_power_on.attr, - &dev_attr_reset.attr, - NULL, ---- linux-2.6.22.5/drivers/serial/s3c2410.c.orig 2007-09-27 11:23:27.000000000 -0500 -+++ linux-2.6.22.5/drivers/serial/s3c2410.c 2007-09-27 21:07:21.000000000 -0500 -@@ -80,6 +80,8 @@ - - #include <asm/arch/regs-serial.h> - #include <asm/arch/regs-gpio.h> -+#include <asm/mach-types.h> -+#include <asm/arch/gta01.h> - - /* structures */ - -@@ -729,6 +731,17 @@ - return best->quot; - } - -+/* This routine is called whenever the gta01 modem/console switches */ -+void s3c24xx_set_flow_control(struct uart_port *port, int fc_on) -+{ -+ unsigned int umcon; -+ if (machine_is_neo1973_gta01() && port) { -+ umcon = (fc_on) ? S3C2410_UMCOM_AFC : 0; -+ wr_regl(port, S3C2410_UMCON, umcon); -+ } -+} -+EXPORT_SYMBOL(s3c24xx_set_flow_control); -+ - static void s3c24xx_serial_set_termios(struct uart_port *port, - struct ktermios *termios, - struct ktermios *old) -@@ -803,6 +816,23 @@ - - umcon = (termios->c_cflag & CRTSCTS) ? S3C2410_UMCOM_AFC : 0; - -+ /* -+ * Custom handling of flow control on hwport 0 for the GTA01: -+ * Save the desired state for flow control, but if the port -+ * is being used as a console, then do not actually enable -+ * flow control unless the flag permiting us to do so is set. -+ */ -+ if (machine_is_neo1973_gta01() && (cfg->hwport == 0)) { -+ if (umcon) -+ port->unused[2] |= 0x1; -+ else -+ port->unused[2] &= ~0x1; -+ if (port->cons && (port->cons->index >= 0)) { -+ if (!(port->unused[2] & 0x2)) -+ umcon = 0; -+ } -+ } -+ - if (termios->c_cflag & PARENB) { - if (termios->c_cflag & PARODD) - ulcon |= S3C2410_LCON_PODD; diff --git a/packages/linux/linux-openmoko/glamo-report-vram-size-to-userspace.patch b/packages/linux/linux-openmoko/glamo-report-vram-size-to-userspace.patch deleted file mode 100644 index 563923e71c..0000000000 --- a/packages/linux/linux-openmoko/glamo-report-vram-size-to-userspace.patch +++ /dev/null @@ -1,67 +0,0 @@ -From ff1564e5100eeccd53ee6b007813ea722f8cf8b6 Mon Sep 17 00:00:00 2001 -From: Chia-I Wu <olv@openmoko.com> -Date: Mon, 1 Oct 2007 21:16:46 +0800 -Subject: [PATCH] glamo: report vram size to userspace - -Set fb_fix_screeninfo.smem_len to RESSIZE(fb_res). This is not the real -vram size, as it is a hardcoded value in glamo-core.c for now. ---- - drivers/video/glamo/glamo-fb.c | 13 +++++-------- - 1 files changed, 5 insertions(+), 8 deletions(-) - -diff --git a/drivers/video/glamo/glamo-fb.c b/drivers/video/glamo/glamo-fb.c -index 451de75..160a5b1 100644 ---- a/drivers/video/glamo/glamo-fb.c -+++ b/drivers/video/glamo/glamo-fb.c -@@ -54,8 +54,6 @@ - - #define RESSIZE(ressource) (((ressource)->end - (ressource)->start)+1) - --#define GLAMO_FB_ALLOC (640*480*2) -- - struct glamofb_handle { - struct fb_info *fb; - struct device *dev; -@@ -224,7 +222,6 @@ static int glamofb_set_par(struct fb_info *info) - } - - glamo->fb->fix.line_length = (var->width * var->bits_per_pixel) / 8; -- glamo->fb->fix.smem_len = info->fix.line_length * var->yres_virtual; - - return 0; - } -@@ -453,7 +450,7 @@ static int __init glamofb_probe(struct platform_device *pdev) - } - - glamofb->fb_res = request_mem_region(glamofb->fb_res->start, -- GLAMO_FB_ALLOC, pdev->name); -+ RESSIZE(glamofb->fb_res), pdev->name); - if (!glamofb->fb_res) { - dev_err(&pdev->dev, "failed to request vram region\n"); - goto out_release_reg; -@@ -467,6 +464,7 @@ static int __init glamofb_probe(struct platform_device *pdev) - goto out_release_fb; - } - fbinfo->fix.smem_start = (unsigned long) glamofb->fb_res->start; -+ fbinfo->fix.smem_len = RESSIZE(glamofb->fb_res); - - fbinfo->screen_base = ioremap(glamofb->fb_res->start, - RESSIZE(glamofb->fb_res)); -@@ -522,11 +520,10 @@ static int __init glamofb_probe(struct platform_device *pdev) - fbinfo->var.green.length = 6; - fbinfo->var.blue.length = 5; - fbinfo->var.transp.length = 0; -- fbinfo->fix.smem_len = mach_info->xres.max * -- mach_info->yres.max * -- mach_info->bpp.max / 8; - -- memset(fbinfo->screen_base, 0, fbinfo->fix.smem_len); -+ memset(fbinfo->screen_base, 0, mach_info->xres.max * -+ mach_info->yres.max * -+ mach_info->bpp.max / 8); - - glamo_engine_enable(mach_info->glamo, GLAMO_ENGINE_LCD); - glamo_engine_reset(mach_info->glamo, GLAMO_ENGINE_LCD); --- -1.5.3.1 - diff --git a/packages/linux/linux-openmoko/glamo-turbo-mode.patch b/packages/linux/linux-openmoko/glamo-turbo-mode.patch deleted file mode 100644 index 4f03c967ec..0000000000 --- a/packages/linux/linux-openmoko/glamo-turbo-mode.patch +++ /dev/null @@ -1,32 +0,0 @@ -X-Git-Url: http://git.openmoko.org/?p=kernel.git;a=blobdiff_plain;f=drivers%2Fmfd%2Fglamo%2Fglamo-core.c;fp=drivers%2Fmfd%2Fglamo%2Fglamo-core.c;h=bc91178ba609fbb99343eca212e7dda85e110d7c;hp=2619c5fc9fc3a189232504b97d3f024249bd9a72;hb=b920e3309db7e4f733499dc724a0dfba310edc5c;hpb=c1768ad6cc5b11eeda4394f68fbaedd03eea3354 - -diff --git a/drivers/mfd/glamo/glamo-core.c b/drivers/mfd/glamo/glamo-core.c -index 2619c5f..bc91178 100644 ---- a/drivers/mfd/glamo/glamo-core.c -+++ b/drivers/mfd/glamo/glamo-core.c -@@ -740,7 +740,11 @@ static struct glamo_script glamo_init_script[] = { - { GLAMO_REG_CLOCK_GEN7, 0x0101 }, - { GLAMO_REG_CLOCK_GEN8, 0x0100 }, - { GLAMO_REG_CLOCK_HOST, 0x000d }, -- { 0x200, 0x0ef0 }, -+ /* -+ * b7..b4 = 0 = no wait states on read or write -+ * b0 = 1 select PLL2 for Host interface, b1 = enable it -+ */ -+ { 0x200, 0x0e03 }, - { 0x202, 0x07ff }, - { 0x212, 0x0000 }, - { 0x214, 0x4000 }, -@@ -750,11 +754,7 @@ static struct glamo_script glamo_init_script[] = { - * more efficiency when 640x480" */ - { GLAMO_REG_MEM_TYPE, 0x0c74 }, /* 8MB, 16 word pg wr+rd */ - { GLAMO_REG_MEM_GEN, 0xafaf }, /* 63 grants min + max */ -- /* -- * the register below originally 0x0108 makes unreliable Glamo MMC -- * write operations. Cranked to 0x05ad to add a wait state, the -- * unreliability is not seen after 4GB of write / read testing -- */ -+ - { GLAMO_REG_MEM_TIMING1, 0x0108 }, - { GLAMO_REG_MEM_TIMING2, 0x0010 }, /* Taa = 3 MCLK */ - { GLAMO_REG_MEM_TIMING3, 0x0000 }, diff --git a/packages/linux/linux-openmoko/gta-vibro-pwm-suspend.patch b/packages/linux/linux-openmoko/gta-vibro-pwm-suspend.patch deleted file mode 100644 index a98f5c8ca5..0000000000 --- a/packages/linux/linux-openmoko/gta-vibro-pwm-suspend.patch +++ /dev/null @@ -1,27 +0,0 @@ -Index: linux-2.6.22/drivers/leds/leds-gta01.c -=================================================================== ---- linux-2.6.22.orig/drivers/led |
