summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/libesmtp/libesmtp_1.0.4.bb23
-rw-r--r--packages/linux/linux-ezx/a780-leds-r0.patch185
-rw-r--r--packages/linux/linux-ezx/e680-disable-boomer-HACK.patch16
-rw-r--r--packages/linux/linux-ezx/e680-fix-keypad.patch152
-rw-r--r--packages/linux/linux-ezx/e680-leds-r0.patch336
-rw-r--r--packages/linux/linux-ezx/e680-leds-r1.patch374
-rw-r--r--packages/linux/linux-ezx/ezx-backlight-r0.patch212
-rw-r--r--packages/linux/linux-ezx/ezx-backlight-r1.patch277
-rw-r--r--packages/linux/linux-ezx/pxa-serial-gcc4.diff11
-rw-r--r--packages/linux/linux-ezx/pxakbd-fix-directkeys.patch83
-rw-r--r--packages/linux/linux-ezx/sa1100-rtc-gcc4.diff11
-rw-r--r--packages/linux/linux-ezx/touchscreen-fix-r0.patch19
-rw-r--r--packages/linux/linux-ezx_2.6.16.13.bb36
-rw-r--r--packages/samba/samba_3.0.14a.bb3
-rw-r--r--packages/samba/samba_3.0.20.bb3
15 files changed, 43 insertions, 1698 deletions
diff --git a/packages/libesmtp/libesmtp_1.0.4.bb b/packages/libesmtp/libesmtp_1.0.4.bb
index baff0d8931..294333c579 100644
--- a/packages/libesmtp/libesmtp_1.0.4.bb
+++ b/packages/libesmtp/libesmtp_1.0.4.bb
@@ -1,22 +1,19 @@
-LICENSE = "GPL"
-SECTION = "libs"
-DEPENDS = "openssl"
DESCRIPTION = "LibESMTP is a library to manage posting \
(or submission of) electronic mail using SMTP to a \
-preconfigured Mail Transport Agent (MTA) such as Exim."
-FILES_libesmtp_append = " ${libdir}/esmtp-plugins"
+preconfigured Mail Transport Agent (MTA) such as Exim or PostFix."
+LICENSE = "GPL"
+SECTION = "libs/network"
+DEPENDS = "openssl"
+PR = "r1"
SRC_URI = "http://www.stafford.uklinux.net/libesmtp/libesmtp-${PV}.tar.bz2"
-inherit autotools
+inherit autotools binconfig
EXTRA_OECONF = "--disable-isoc --with-openssl=${STAGING_LIBDIR}/.."
-do_stage () {
- oe_libinstall -a -so libesmtp ${STAGING_LIBDIR}
-
- install -d ${STAGING_INCDIR}
- install -m 644 auth-client.h ${STAGING_INCDIR}
- install -m 644 auth-plugin.h ${STAGING_INCDIR}
- install -m 644 libesmtp.h ${STAGING_INCDIR}
+do_stage() {
+ autotools_stage_all
}
+
+FILES_libesmtp_append = " ${libdir}/esmtp-plugins"
diff --git a/packages/linux/linux-ezx/a780-leds-r0.patch b/packages/linux/linux-ezx/a780-leds-r0.patch
deleted file mode 100644
index 31fdfc635b..0000000000
--- a/packages/linux/linux-ezx/a780-leds-r0.patch
+++ /dev/null
@@ -1,185 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux-2.6.16/drivers/leds/Kconfig~a780-leds-r0.patch 2006-06-05 18:05:32.000000000 +0200
-+++ linux-2.6.16/drivers/leds/Kconfig 2006-06-05 18:05:32.000000000 +0200
-@@ -66,6 +66,13 @@
- This options enables support for the LEDs on the
- Motorola E680(i) GSM Phone.
-
-+config LEDS_A780
-+ tristate "LED Support for the Motorola A780 GSM Phone"
-+ depends LEDS_CLASS && PXA_EZX_A780
-+ help
-+ This option enables support for the LEDs on the
-+ Motorola A780 GSM Phone.
-+
- config LEDS_TRIGGER_TIMER
- tristate "LED Timer Trigger"
- depends LEDS_TRIGGERS
---- linux-2.6.16/drivers/leds/Makefile~a780-leds-r0.patch 2006-06-05 18:05:32.000000000 +0200
-+++ linux-2.6.16/drivers/leds/Makefile 2006-06-05 18:05:32.000000000 +0200
-@@ -11,6 +11,7 @@
- obj-$(CONFIG_LEDS_IXP4XX) += leds-ixp4xx-gpio.o
- obj-$(CONFIG_LEDS_TOSA) += leds-tosa.o
- obj-$(CONFIG_LEDS_E680) += leds-e680.o
-+obj-$(CONFIG_LEDS_A780) += leds-a780.o
-
- # LED Triggers
- obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
---- linux-2.6.16/arch/arm/mach-pxa/ezx.c~a780-leds-r0.patch 2006-06-05 18:05:32.000000000 +0200
-+++ linux-2.6.16/arch/arm/mach-pxa/ezx.c 2006-06-05 18:05:32.000000000 +0200
-@@ -367,6 +367,15 @@
- };
- #endif
-
-+#ifdef CONFIG_PXA_EZX_A780
-+/*
-+ * A780 LEDs
-+ */
-+static struct platform_device a780led_device = {
-+ .name = "a780-led",
-+ .id = -1,
-+};
-+#endif
-
- /* keyboard */
-
-@@ -780,6 +789,9 @@
- #ifdef CONFIG_PXA_EZX_E680
- &e680led_device,
- #endif
-+#ifdef CONFIG_PXA_EZX_A780
-+ &a780led_device,
-+#endif
- };
-
- static void __init
---- /dev/null 2006-06-05 13:59:28.329930680 +0200
-+++ linux-2.6.16/drivers/leds/leds-a780.c 2006-06-05 18:27:13.000000000 +0200
-@@ -0,0 +1,123 @@
-+/*
-+ * EZX Platform LED Driver for the Motorola A780 GSM Phone
-+ *
-+ * Copyright 2006 Vanille-Media
-+ *
-+ * Author: Michael Lauer <mickey@Vanille.de>
-+ *
-+ * Based on keylight.c by Motorola and leds-corgi.c by Richard Purdie
-+ *
-+ * 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.
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/kernel.h>
-+#include <linux/platform_device.h>
-+#include <linux/leds.h>
-+#include <asm/arch/ezx-pcap.h>
-+
-+static void a780led_main_set(struct led_classdev *led_cdev, enum led_brightness value)
-+{
-+ if ( value > 31 ) value = 31;
-+ printk( KERN_DEBUG "a780led_main_set: %d\n", value );
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL0, value & 0x01);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL1, value & 0x02);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL2, value & 0x04);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL3, value & 0x08);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL4, value & 0x10);
-+}
-+
-+static void a780led_aux_set(struct led_classdev *led_cdev, enum led_brightness value)
-+{
-+ if ( value > 31 ) value = 31;
-+ printk( KERN_DEBUG "a780led_aux_set: %d\n", value );
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL0, value & 0x01);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL1, value & 0x02);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL2, value & 0x04);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL3, value & 0x08);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL4, value & 0x10);
-+}
-+
-+static struct led_classdev a780_main_led = {
-+ .name = "a780:main",
-+ .default_trigger = "none",
-+ .brightness_set = a780led_main_set,
-+};
-+
-+static struct led_classdev a780_aux_led = {
-+ .name = "a780:aux",
-+ .default_trigger = "none",
-+ .brightness_set = a780led_aux_set,
-+};
-+
-+#ifdef CONFIG_PM
-+static int a780led_suspend(struct platform_device *dev, pm_message_t state)
-+{
-+ led_classdev_suspend(&a780_main_led);
-+ led_classdev_suspend(&a780_aux_led);
-+ return 0;
-+}
-+
-+static int a780led_resume(struct platform_device *dev)
-+{
-+ led_classdev_resume(&a780_main_led);
-+ led_classdev_resume(&a780_aux_led);
-+ return 0;
-+}
-+#endif
-+
-+static int a780led_probe(struct platform_device *pdev)
-+{
-+ int ret;
-+
-+ ret = led_classdev_register(&pdev->dev, &a780_main_led);
-+ if (ret < 0)
-+ return ret;
-+
-+ ret = led_classdev_register(&pdev->dev, &a780_aux_led);
-+ if (ret < 0)
-+ led_classdev_unregister(&a780_main_led);
-+
-+ return ret;
-+}
-+
-+static int a780led_remove(struct platform_device *pdev)
-+{
-+ led_classdev_unregister(&a780_main_led);
-+ led_classdev_unregister(&a780_aux_led);
-+ return 0;
-+}
-+
-+static struct platform_driver a780led_driver = {
-+ .probe = a780led_probe,
-+ .remove = a780led_remove,
-+#ifdef CONFIG_PM
-+ .suspend = a780led_suspend,
-+ .resume = a780led_resume,
-+#endif
-+ .driver = {
-+ .name = "a780-led",
-+ },
-+};
-+
-+static int __init a780led_init(void)
-+{
-+ return platform_driver_register(&a780led_driver);
-+}
-+
-+static void __exit a780led_exit(void)
-+{
-+ a780led_main_set( &a780_main_led, 0 );
-+ a780led_aux_set( &a780_aux_led, 0 );
-+ platform_driver_unregister(&a780led_driver);
-+}
-+
-+module_init(a780led_init);
-+module_exit(a780led_exit);
-+
-+MODULE_AUTHOR("Michael Lauer <mickey@Vanille.de>");
-+MODULE_DESCRIPTION("Motorola A780 LED driver");
-+MODULE_LICENSE("GPL");
diff --git a/packages/linux/linux-ezx/e680-disable-boomer-HACK.patch b/packages/linux/linux-ezx/e680-disable-boomer-HACK.patch
deleted file mode 100644
index a0d953ddfb..0000000000
--- a/packages/linux/linux-ezx/e680-disable-boomer-HACK.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux-2.6.16/drivers/i2c/chips/Makefile~e680-disable-boomer 2006-05-31 18:52:44.000000000 +0200
-+++ linux-2.6.16/drivers/i2c/chips/Makefile 2006-05-31 18:56:38.000000000 +0200
-@@ -17,7 +17,7 @@
-
- obj-$(CONFIG_I2C_ADCM2700) += e680_camera.o
- obj-$(CONFIG_I2C_A780_CAMERA) += a780_camera.o
--obj-$(CONFIG_PXA_EZX_E680) += boomer.o
-+//obj-$(CONFIG_PXA_EZX_E680) += boomer.o
-
- ifeq ($(CONFIG_I2C_DEBUG_CHIP),y)
- EXTRA_CFLAGS += -DDEBUG
diff --git a/packages/linux/linux-ezx/e680-fix-keypad.patch b/packages/linux/linux-ezx/e680-fix-keypad.patch
deleted file mode 100644
index ca06052803..0000000000
--- a/packages/linux/linux-ezx/e680-fix-keypad.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux-2.6.16/arch/arm/mach-pxa/ezx.c~e680-fix-keypad.patch 2006-06-11 00:47:33.000000000 +0200
-+++ linux-2.6.16/arch/arm/mach-pxa/ezx.c 2006-06-12 16:13:28.000000000 +0200
-@@ -341,71 +341,25 @@
- };
- #endif
-
--/* keyboard */
--
--#if defined(CONFIG_PXA_EZX_V700)
--#error "kbd matrix still needs to be converted to new row/col layout"
--static unsigned char ezx_keycode[] = {
-- /* col 0 */
-- KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT,
-- KEYPAD_POUND, KEY_0, KEY_9, 0,
-- /* col 1 */
-- KEY_2, KEY_4, KEY_6, KEY_8,
-- KEY_7, KEYPAD_SLEFT, KEYPAD_SRIGHT, 0,
-- /* col 2 */
-- KEY_MENU, KEY_1, KEY_3, KEY_5,
-- KEY_KPASTERISK, KEY_VOLUMEUP, KEY_VOLUMEDOWN, 0,
-- /* col 3 */
-- KEY_CAMERA, KEYPAD_CLEAR, KEYPAD_CARRIER, KEYPAD_ACTIVATE,
-- KEYPAD_SEND, KEYPAD_SMART, KEYPAD_VAVR, 0,
--};
--static unsigned char ezx_direct_keycode[] = {
-- KEYPAD_NONE,
-- KEYPAD_NONE,
-- KEYPAD_NONE,
-- KEYPAD_NONE,
-- KEYPAD_NONE,
-- KEYPAD_NONE,
--};
--#elif defined(CONFIG_PXA_EZX_E680_P4A)
--#error "kbd matrix still needs to be converted to new row/col layout"
--static unsigned char ezx_keycode[] = {
-- /* col 0 */
-- KEY_UP, KEY_DOWN, KEY_LEFT, 0, 0, 0, 0, 0,
-- /* col 1 */
-- KEY_RIGHT, KEY_CENTER, KEY_HOME, 0, 0, 0, 0, 0,
-- /* col 2 */
-- KEYPAD_GAME_R, 0, KEYPAD_GAME_L, 0, 0, 0, 0, 0,
-- /* col 3 */
-- KEY_A, KEY_B, 0, 0, 0, 0, 0, 0,
--};
--static unsigned char ezx_direct_keycode[] = {
-- KEY_CAMERA,
-- KEYPAD_NONE,
-- KEYPAD_NONE,
-- KEYPAD_NONE,
-- KEY_POWER,
-- KEYPAD_NONE,
--};
--#elif defined(CONFIG_PXA_EZX_E680)
--#error "kbd matrix still needs to be converted to new row/col layout"
-+/*
-+ * PXA Keyboard
-+ */
-+#if defined(CONFIG_PXA_EZX_E680)
- static unsigned char ezx_keycode[] = {
-- /* col 0 */
-- KEY_UP, KEY_DOWN, 0, 0, 0, 0, 0, 0,
-- /* col 1 */
-- KEY_RIGHT, KEY_LEFT, 0, 0, 0, 0, 0, 0,
-- /* col 2 */
-- 0, KEYPAD_GAME_R, 0, 0, 0, 0, 0, 0,
-- /* col 3 */
-- KEYPAD_HOME, KEYPAD_GAME_L, KEYPAD_CENTER, 0, 0, 0, 0, 0,
-+ /* row 0 */
-+ KEY_UP, KEY_RIGHT, KEY_RESERVED, KEY_PHONE,
-+ /* row 1 */
-+ KEY_DOWN, KEY_LEFT, KEY_VOLUMEUP, KEY_VOLUMEDOWN,
-+ /* row 2 */
-+ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_KPENTER,
- };
- static unsigned char ezx_direct_keycode[] = {
- KEY_CAMERA,
-- KEYPAD_NONE,
-- KEYPAD_NONE,
-- KEYPAD_A,
-+ KEY_RESERVED,
-+ KEY_RESERVED,
-+ KEY_HOME,
- KEY_POWER,
-- KEYPAD_B,
-+ KEY_MENU,
- };
- #elif defined(CONFIG_PXA_EZX_A780)
- static unsigned char ezx_keycode[] = {
-@@ -424,22 +378,12 @@
- KEY_CAMERA,
- };
- #else
--#error "no EZX subarchitecture defined !?!"
-+#error "no EZX subarchitecture defined"
- #endif
-
- static int ezx_kbd_init(void)
- {
--#if defined(CONFIG_PXA_EZX_E680_P4A)
-- pxa_gpio_mode(93 | GPIO_ALT_FN_1_IN); /* KP_DKIN<0>, VR Key */
-- pxa_gpio_mode(97 | GPIO_ALT_FN_1_IN); /* KP_DKIN<4>, power key */
-- pxa_gpio_mode(100 | GPIO_ALT_FN_1_IN); /* KP_MKIN<0> */
-- pxa_gpio_mode(101 | GPIO_ALT_FN_1_IN); /* KP_MKIN<1> */
-- pxa_gpio_mode(102 | GPIO_ALT_FN_1_IN); /* KP_MKIN<2> */
-- pxa_gpio_mode(103 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<0> */
-- pxa_gpio_mode(104 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<1> */
-- pxa_gpio_mode(105 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<2> */
-- pxa_gpio_mode(106 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<3> */
--#elif defined(CONFIG_PXA_EZX_E680)
-+#if defined(CONFIG_PXA_EZX_E680)
- pxa_gpio_mode(93 | GPIO_ALT_FN_1_IN); /* KP_DKIN<0>, VR Key */
- pxa_gpio_mode(96 | GPIO_ALT_FN_1_IN); /* KP_DKIN<3>, GAME_A */
- pxa_gpio_mode(97 | GPIO_ALT_FN_1_IN); /* KP_DKIN<4>, power key */
-@@ -455,7 +399,7 @@
- GPDR(GPIO_TC_MM_EN) |= GPIO_bit(GPIO_TC_MM_EN);
- GPSR(GPIO_TC_MM_EN) = GPIO_bit(GPIO_TC_MM_EN);
- PGSR3 |= GPIO_bit(GPIO_TC_MM_EN);
--#elif defined (CONFIG_PXA_EZX_A780)
-+#elif defined(CONFIG_PXA_EZX_A780)
- pxa_gpio_mode(93 | GPIO_ALT_FN_1_IN); /* KP_DKIN<0>, voice_rec */
- pxa_gpio_mode(97 | GPIO_ALT_FN_3_IN); /* KP_MKIN<3> */
- pxa_gpio_mode(98 | GPIO_ALT_FN_3_IN); /* KP_MKIN<4> */
-@@ -476,10 +420,7 @@
- .scan_interval = HZ/40,
- .matrix = {
- .keycode = &ezx_keycode,
--#if defined(CONFIG_ARCH_EXZ_E680_P4A)
-- .cols = 4,
-- .rows = 3,
--#elif defined(CONFIG_PXA_EZX_E680)
-+#if defined(CONFIG_PXA_EZX_E680)
- .cols = 4,
- .rows = 3,
- #elif defined(CONFIG_PXA_EZX_A780)
-@@ -489,10 +430,8 @@
- },
- .direct = {
- .keycode = &ezx_direct_keycode,
--#if defined(CONFIG_PXA_EZX_E680_P4A)
-- .num = 4,
--#elif defined(CONFIG_PXA_EZX_E680)
-- .num = 5,
-+#if defined(CONFIG_PXA_EZX_E680)
-+ .num = 6,
- #elif defined(CONFIG_PXA_EZX_A780)
- .num = 1,
- #endif
diff --git a/packages/linux/linux-ezx/e680-leds-r0.patch b/packages/linux/linux-ezx/e680-leds-r0.patch
deleted file mode 100644
index b6d2413dc1..0000000000
--- a/packages/linux/linux-ezx/e680-leds-r0.patch
+++ /dev/null
@@ -1,336 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux-2.6.16/arch/arm/mach-pxa/ezx.c~led_ezx-r0.patch 2006-06-03 15:17:43.000000000 +0200
-+++ linux-2.6.16/arch/arm/mach-pxa/ezx.c 2006-06-05 15:14:59.000000000 +0200
-@@ -357,6 +357,17 @@
- .num_resources = ARRAY_SIZE(ezx_backlight_resources),
- };
-
-+#ifdef CONFIG_PXA_EZX_E680
-+/*
-+ * E680 LEDs
-+ */
-+static struct platform_device e680led_device = {
-+ .name = "e680-led",
-+ .id = -1,
-+};
-+#endif
-+
-+
- /* keyboard */
-
- #if defined(CONFIG_PXA_EZX_V700)
-@@ -770,6 +781,9 @@
-
- static struct platform_device *devices[] __initdata = {
- &ezx_bp_device,
-+#ifdef CONFIG_PXA_EZX_E680
-+ &e680led_device,
-+#endif
- };
-
- static void __init
---- linux-2.6.16/drivers/leds/Kconfig~led_ezx-r0.patch 2006-06-03 15:17:47.000000000 +0200
-+++ linux-2.6.16/drivers/leds/Kconfig 2006-06-03 15:17:47.000000000 +0200
-@@ -59,6 +59,13 @@
- This option enables support for the LEDs on Sharp Zaurus
- SL-6000 series.
-
-+config LEDS_E680
-+ tristate "LED Support for the Motorola E680(i) GSM Phone"
-+ depends LEDS_CLASS && PXA_EZX_E680
-+ help
-+ This options enables support for the LEDs on the
-+ Motorola E680(i) GSM Phone.
-+
- config LEDS_TRIGGER_TIMER
- tristate "LED Timer Trigger"
- depends LEDS_TRIGGERS
---- linux-2.6.16/drivers/leds/Makefile~led_ezx-r0.patch 2006-06-03 15:17:47.000000000 +0200
-+++ linux-2.6.16/drivers/leds/Makefile 2006-06-03 15:17:47.000000000 +0200
-@@ -10,7 +10,8 @@
- obj-$(CONFIG_LEDS_SPITZ) += leds-spitz.o
- obj-$(CONFIG_LEDS_IXP4XX) += leds-ixp4xx-gpio.o
- obj-$(CONFIG_LEDS_TOSA) += leds-tosa.o
-+obj-$(CONFIG_LEDS_E680) += leds-e680.o
-
- # LED Triggers
- obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
--obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
-\ Kein Zeilenumbruch am Dateiende.
-+obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
---- /dev/null 2006-06-05 13:59:28.329930680 +0200
-+++ linux-2.6.16/drivers/leds/leds-e680.c 2006-06-05 15:11:42.000000000 +0200
-@@ -0,0 +1,269 @@
-+/*
-+ * EZX Platform LED Driver for the Motorola E680(i) GSM Phone
-+ *
-+ * Copyright 2006 Vanille-Media
-+ *
-+ * Author: Michael Lauer <mickey@Vanille.de>
-+ *
-+ * Based on the Motorola 2.4 leds-e680.c and leds-corgi.c by Richard Purdie
-+ *
-+ * 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.
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/platform_device.h>
-+#include <linux/leds.h>
-+#include <asm/mach-types.h>
-+#include <asm/arch/hardware.h>
-+#include <asm/arch/pxa-regs.h>
-+//FIXME this belongs to somewhere else, please
-+// adjust when ssp_pcap.h reached its final destination
-+#include "../misc/ezx/ssp_pcap.h"
-+
-+//FIXME move defines to header file
-+#define IND_CNTL_R_BUL 46
-+#define IND_CNTL_G_BUL 47
-+#define SSP_PCAP_LED_MASK 0x000fffe0
-+#define SSP_PCAP_LED_SHIFT 5
-+
-+static enum led_brightness old_red;
-+static enum led_brightness old_green;
-+static enum led_brightness old_blue;
-+
-+typedef struct {
-+ unsigned char ind_GPIO_red; /*Indicator Red control GPIO 46: 0 active, 1 disactive*/
-+ unsigned char ind_GPIO_green; /*Indicator Green control GPIO 47: 0 active, 1 disactive*/
-+ unsigned char pcap_LEDR_en; /*pcap LEDR_EN bit value: 1 =Red LED(&Green) sink circuit enabled*/
-+ unsigned char pcap_LEDG_en; /*pcap LEDG_EN bit value:1 =Green(->Blue)LED sink circuit enabled*/
-+ unsigned char pcap_LEDR_CTRL; /* 4bits Sets the timing for the red(&Green) LED sink circuit*/
-+ unsigned char pcap_LEDG_CTRL; /* 4bits Sets the timing for the GREEN (->Blue) LED sink circuit*/
-+ unsigned char pcap_LEDR_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDR*/
-+ unsigned char pcap_LEDG_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDG*/
-+ unsigned char pcap_SKIP_on; /*1=The ON timing sequence defined by LEDx_CTRL is executed on every other cycle*/
-+} PCAP2_LED_REGISTER_VALUE;
-+
-+const PCAP2_LED_REGISTER_VALUE led_register_value[]=
-+{
-+ /* on/off pulsepower timing intensity */
-+ {0x1,0x1, 0x0,0x0, 0x0,0x0, 0x0,0x0,0x0}, /* OFF */
-+ {0x0,0x1, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* RED */
-+ {0x1,0x0, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* GREEN */
-+ {0x0,0x0, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* ORANGE = RED + GREEN */
-+ {0x1,0x1, 0x0,0x1, 0x0,0xc, 0x0,0x0,0x0}, /* BLUE */
-+ {0x0,0x1, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* LIGHT_RED = RED + BLUE */
-+ {0x1,0x0, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* LIGHT_GREEN = GREEN + BLUE */
-+ {0x0,0x0, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* WHITE = RED + GREEN + BLUE */
-+};
-+
-+static void e680led_led_set( enum led_brightness red, enum led_brightness green, enum led_brightness blue )
-+{
-+ printk( KERN_DEBUG "e680led_led_set: red=%d, green=%d, blue=%d", red, green, blue );
-+ unsigned int tempValue = 0;
-+ unsigned int value = 0;
-+ unsigned int stateIndex = 0;
-+ unsigned char gpio_red, gpio_green, ledr_en, ledg_en, ledr_ctrl, ledg_ctrl, ledr_i, ledg_i,skip;
-+
-+ stateIndex = ( ( blue << 2 ) | ( green << 1 ) | ( red ) ) & 0x7;
-+ printk( KERN_DEBUG "LED stateIndex is %d", stateIndex );
-+ gpio_red = led_register_value[stateIndex].ind_GPIO_red & 0x1;
-+ gpio_green = led_register_value[stateIndex].ind_GPIO_green & 0x1;
-+ ledr_en = led_register_value[stateIndex].pcap_LEDR_en & 0x1;
-+ ledg_en = led_register_value[stateIndex].pcap_LEDG_en & 0x1;
-+ ledr_ctrl = led_register_value[stateIndex].pcap_LEDR_CTRL & 0xf;
-+ ledg_ctrl = led_register_value[stateIndex].pcap_LEDG_CTRL & 0xf;
-+ ledr_i = led_register_value[stateIndex].pcap_LEDR_I & 0x3;
-+ ledg_i = led_register_value[stateIndex].pcap_LEDG_I & 0x3;
-+ skip = led_register_value[stateIndex].pcap_SKIP_on & 0x1;
-+
-+ /* disable LEDs */
-+ if( ezx_pcap_read(SSP_PCAP_ADJ_PERIPH_REGISTER,&tempValue) != SSP_PCAP_SUCCESS )
-+ {
-+ printk( KERN_WARNING "LED PCAP Read Failed\n" );
-+ return;
-+ }
-+ tempValue &= (~SSP_PCAP_LED_MASK);
-+ if( ezx_pcap_write(SSP_PCAP_ADJ_PERIPH_REGISTER,tempValue) != SSP_PCAP_SUCCESS )
-+ {
-+ printk( KERN_WARNING "LED PCAP Write Failed (Clear Data)\n" );
-+ return;
-+ }
-+
-+ /* configure GPIOs as output */
-+ pxa_gpio_mode(IND_CNTL_R_BUL | GPIO_OUT);
-+ pxa_gpio_mode(IND_CNTL_G_BUL | GPIO_OUT);
-+
-+ //FIXME: Simplify this logic
-+ if ( (gpio_green && gpio_red) )
-+ {
-+ /*Disable Red & Green signal*/
-+ set_GPIO(IND_CNTL_R_BUL); /*IND_CNTL_R_BUL Low active*/
-+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) | GPIO_bit(IND_CNTL_R_BUL);
-+
-+ clr_GPIO(IND_CNTL_G_BUL); /*IND_CNTL_G_BUL High active*/
-+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) & (~GPIO_bit(IND_CNTL_G_BUL));
-+
-+ printk( KERN_DEBUG "LED GPIO Green & Red Disable\n");
-+ } else if ( gpio_green && !gpio_red )
-+ {
-+ /*Green Disable, Red Enable*/
-+ clr_GPIO(IND_CNTL_R_BUL);
-+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) & (~GPIO_bit(IND_CNTL_R_BUL));
-+
-+ clr_GPIO(IND_CNTL_G_BUL);
-+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) & (~GPIO_bit(IND_CNTL_G_BUL));
-+
-+ printk( KERN_DEBUG "LED GPIO Green Disable, Red Enable\n");
-+ } else if (gpio_red && !gpio_green )
-+ {
-+ /*Red Disable, Green Enable*/
-+ set_GPIO(IND_CNTL_R_BUL);
-+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) | GPIO_bit(IND_CNTL_R_BUL);
-+
-+ set_GPIO(IND_CNTL_G_BUL);
-+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) | GPIO_bit(IND_CNTL_G_BUL);
-+ printk( KERN_DEBUG "LED GPIO Red Disable, Green Enable");
-+ }else
-+ {
-+ /*Red & Green enable*/
-+ clr_GPIO(IND_CNTL_R_BUL);
-+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) & (~GPIO_bit(IND_CNTL_R_BUL));
-+
-+ set_GPIO(IND_CNTL_G_BUL);
-+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) | GPIO_bit(IND_CNTL_G_BUL);
-+ printk( KERN_DEBUG "LED GPIO Red & Green Enable\n");
-+ }
-+
-+ /* Write PCAP LED Peripheral Control Register*/
-+ value = ( ledr_en | (ledg_en <<1) | (ledr_ctrl <<2) | (ledg_ctrl <<6) |
-+ (ledr_i << 10) | (ledg_i <<12) | (skip <<14) ) & 0x7fff;
-+ tempValue |= (value <<SSP_PCAP_LED_SHIFT);
-+
-+ if ( ezx_pcap_write(SSP_PCAP_ADJ_PERIPH_REGISTER,tempValue) == SSP_PCAP_SUCCESS )
-+ {
-+ printk( KERN_DEBUG "LED PCAP Write Success (0x%x :0x%x)\n",tempValue,value);
-+ old_red = red;
-+ old_green = green;
-+ old_blue = blue;
-+ return;
-+ } else {
-+ printk( KERN_DEBUG "LED PCAP Write Failed (State Change)\n");
-+ return;
-+ }
-+}
-+
-+static void e680led_red_set(struct led_classdev *led_cdev, enum led_brightness value)
-+{
-+ printk( KERN_DEBUG "e680led_red_set: %d\n", value );
-+ e680led_led_set( 1 && value, old_green, old_blue );
-+}
-+
-+static void e680led_green_set(struct led_classdev *led_cdev, enum led_brightness value)
-+{
-+ printk( KERN_DEBUG "e680led_green_set: %d\n", value );
-+ e680led_led_set( old_red, 1 && value, old_blue );
-+}
-+
-+static void e680led_blue_set(struct led_classdev *led_cdev, enum led_brightness value)
-+{
-+ printk( KERN_DEBUG "e680led_blue_set: %d\n", value );
-+ e680led_led_set( old_red, old_green, 1 && value );
-+}
-+
-+static struct led_classdev e680_red_led = {
-+ .name = "e680:red",
-+ .default_trigger = "none",
-+ .brightness_set = e680led_red_set,
-+};
-+
-+static struct led_classdev e680_green_led = {
-+ .name = "e680:green",
-+ .default_trigger = "none",
-+ .brightness_set = e680led_green_set,
-+};
-+
-+static struct led_classdev e680_blue_led = {
-+ .name = "e680:blue",
-+ .default_trigger = "none",
-+ .brightness_set = e680led_blue_set,
-+};
-+
-+#ifdef CONFIG_PM
-+static int e680led_suspend(struct platform_device *dev, pm_message_t state)
-+{
-+ led_classdev_suspend(&e680_red_led);
-+ led_classdev_suspend(&e680_green_led);
-+ led_classdev_suspend(&e680_blue_led);
-+ return 0;
-+}
-+
-+static int e680led_resume(struct platform_device *dev)
-+{
-+ led_classdev_resume(&e680_red_led);
-+ led_classdev_resume(&e680_green_led);
-+ led_classdev_resume(&e680_blue_led);
-+ return 0;
-+}
-+#endif
-+
-+static int e680led_probe(struct platform_device *pdev)
-+{
-+ int ret;
-+
-+ ret = led_classdev_register(&pdev->dev, &e680_red_led);
-+ if (ret < 0)
-+ return ret;
-+
-+ ret = led_classdev_register(&pdev->dev, &e680_green_led);
-+ if (ret < 0)
-+ led_classdev_unregister(&e680_red_led);
-+
-+ ret = led_classdev_register(&pdev->dev, &e680_blue_led);
-+ if (ret < 0) {
-+ led_classdev_unregister(&e680_red_led);
-+ led_classdev_unregister(&e680_green_led);
-+ }
-+ return ret;
-+}
-+
-+static int e680led_remove(struct platform_device *pdev)
-+{
-+ led_classdev_unregister(&e680_red_led);
-+ led_classdev_unregister(&e680_green_led);
-+ led_classdev_unregister(&e680_blue_led);
-+ return 0;
-+}
-+
-+static struct platform_driver e680led_driver = {
-+ .probe = e680led_probe,
-+ .remove = e680led_remove,
-+#ifdef CONFIG_PM
-+ .suspend = e680led_suspend,
-+ .resume = e680led_resume,
-+#endif
-+ .driver = {
-+ .name = "e680-led",
-+ },
-+};
-+
-+static int __init e680led_init(void)
-+{
-+ return platform_driver_register(&e680led_driver);
-+}
-+
-+static void __exit e680led_exit(void)
-+{
-+ e680led_led_set( 0, 0, 0 );
-+ platform_driver_unregister(&e680led_driver);
-+}
-+
-+module_init(e680led_init);
-+module_exit(e680led_exit);
-+
-+MODULE_AUTHOR("Michael Lauer <mickey@Vanille.de>");
-+MODULE_DESCRIPTION("Motorola E680 LED driver");
-+MODULE_LICENSE("GPL");
diff --git a/packages/linux/linux-ezx/e680-leds-r1.patch b/packages/linux/linux-ezx/e680-leds-r1.patch
deleted file mode 100644
index abbab2937d..0000000000
--- a/packages/linux/linux-ezx/e680-leds-r1.patch
+++ /dev/null
@@ -1,374 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux-2.6.16/arch/arm/mach-pxa/ezx.c~e680-leds-r0.patch 2006-06-06 17:14:06.000000000 +0200
-+++ linux-2.6.16/arch/arm/mach-pxa/ezx.c 2006-06-06 17:23:14.000000000 +0200
-@@ -357,6 +357,17 @@
- .num_resources = ARRAY_SIZE(ezx_backlight_resources),
- };
-
-+#ifdef CONFIG_PXA_EZX_E680
-+/*
-+ * E680 LEDs
-+ */
-+static struct platform_device e680led_device = {
-+ .name = "e680-led",
-+ .id = -1,
-+};
-+#endif
-+
-+
- /* keyboard */
-
- #if defined(CONFIG_PXA_EZX_V700)
-@@ -766,6 +777,9 @@
-
- static struct platform_device *devices[] __initdata = {
- &ezx_bp_device,
-+#ifdef CONFIG_PXA_EZX_E680
-+ &e680led_device,
-+#endif
- };
-
- static void __init
---- linux-2.6.16/drivers/leds/Kconfig~e680-leds-r0.patch 2006-06-06 17:14:05.000000000 +0200
-+++ linux-2.6.16/drivers/leds/Kconfig 2006-06-06 17:23:14.000000000 +0200
-@@ -59,6 +59,13 @@
- This option enables support for the LEDs on Sharp Zaurus
- SL-6000 series.
-
-+config LEDS_E680
-+ tristate "LED Support for the Motorola E680(i) GSM Phone"
-+ depends LEDS_CLASS && PXA_EZX_E680
-+ help
-+ This options enables support for the LEDs on the
-+ Motorola E680(i) GSM Phone.
-+
- config LEDS_TRIGGER_TIMER
- tristate "LED Timer Trigger"
- depends LEDS_TRIGGERS
---- linux-2.6.16/drivers/leds/Makefile~e680-leds-r0.patch 2006-06-06 17:14:05.000000000 +0200
-+++ linux-2.6.16/drivers/leds/Makefile 2006-06-06 17:23:14.000000000 +0200
-@@ -10,7 +10,8 @@
- obj-$(CONFIG_LEDS_SPITZ) += leds-spitz.o
- obj-$(CONFIG_LEDS_IXP4XX) += leds-ixp4xx-gpio.o
- obj-$(CONFIG_LEDS_TOSA) += leds-tosa.o
-+obj-$(CONFIG_LEDS_E680) += leds-e680.o
-
- # LED Triggers
- obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
--obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
-\ Kein Zeilenumbruch am Dateiende.
-+obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
---- /dev/null 2006-06-06 16:58:36.577045136 +0200
-+++ linux-2.6.16/drivers/leds/leds-e680.c 2006-06-06 17:55:46.000000000 +0200
-@@ -0,0 +1,307 @@
-+/*
-+ * EZX Platform LED Driver for the Motorola E680(i) GSM Phone
-+ *
-+ * Copyright 2006 Vanille-Media
-+ *
-+ * Author: Michael Lauer <mickey@Vanille.de>
-+ *
-+ * Based on the Motorola 2.4 leds-e680.c and leds-corgi.c by Richard Purdie
-+ *
-+ * 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.
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/delay.h>
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/platform_device.h>
-+#include <linux/leds.h>
-+#include <asm/mach-types.h>
-+#include <asm/arch/hardware.h>
-+#include <asm/arch/pxa-regs.h>
-+#include <asm/arch/ezx-pcap.h>
-+
-+//FIXME move defines to a common header file
-+#define IND_CNTL_R_BUL 46
-+#define IND_CNTL_G_BUL 47
-+#define SSP_PCAP_LED_MASK 0x000fffe0
-+#define SSP_PCAP_LED_SHIFT 5
-+#define GPIO_TC_MM_EN 99
-+
-+static enum led_brightness old_red;
-+static enum led_brightness old_green;
-+static enum led_brightness old_blue;
-+
-+typedef struct {
-+ unsigned char ind_GPIO_red; /*Indicator Red control GPIO 46: 0 active, 1 disactive*/
-+ unsigned char ind_GPIO_green; /*Indicator Green control GPIO 47: 0 active, 1 disactive*/
-+ unsigned char pcap_LEDR_en; /*pcap LEDR_EN bit value: 1 =Red LED(&Green) sink circuit enabled*/
-+ unsigned char pcap_LEDG_en; /*pcap LEDG_EN bit value:1 =Green(->Blue)LED sink circuit enabled*/
-+ unsigned char pcap_LEDR_CTRL; /* 4bits Sets the timing for the red(&Green) LED sink circuit*/
-+ unsigned char pcap_LEDG_CTRL; /* 4bits Sets the timing for the GREEN (->Blue) LED sink circuit*/
-+ unsigned char pcap_LEDR_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDR*/
-+ unsigned char pcap_LEDG_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDG*/
-+ unsigned char pcap_SKIP_on; /*1=The ON timing sequence defined by LEDx_CTRL is executed on every other cycle*/
-+} PCAP2_LED_REGISTER_VALUE;
-+
-+const PCAP2_LED_REGISTER_VALUE led_register_value[]=
-+{
-+ /* on/off pulsepower timing intensity */
-+ {0x1,0x1, 0x0,0x0, 0x0,0x0, 0x0,0x0,0x0}, /* OFF */
-+ {0x0,0x1, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* RED */
-+ {0x1,0x0, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* GREEN */
-+ {0x0,0x0, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* ORANGE = RED + GREEN */
-+ {0x1,0x1, 0x0,0x1, 0x0,0xc, 0x0,0x0,0x0}, /* BLUE */
-+ {0x0,0x1, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* LIGHT_RED = RED + BLUE */
-+ {0x1,0x0, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* LIGHT_GREEN = GREEN + BLUE */
-+ {0x0,0x0, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* WHITE = RED + GREEN + BLUE */
-+};
-+
-+static void e680led_led_set( enum led_brightness red, enum led_brightness green, enum led_brightness blue )
-+{
-+ printk( KERN_DEBUG "e680led_led_set: red=%d, green=%d, blue=%d", red, green, blue );
-+ unsigned int tempValue = 0;
-+ unsigned int value = 0;
-+ unsigned int stateIndex = 0;
-+ unsigned char gpio_red, gpio_green, ledr_en, ledg_en, ledr_ctrl, ledg_ctrl, ledr_i, ledg_i,skip;
-+
-+ stateIndex = ( ( blue << 2 ) | ( green << 1 ) | ( red ) ) & 0x7;
-+ printk( KERN_DEBUG "LED stateIndex is %d", stateIndex );
-+ gpio_red = led_register_value[stateIndex].ind_GPIO_red & 0x1;
-+ gpio_green = led_register_value[stateIndex].ind_GPIO_green & 0x1;
-+ ledr_en = led_register_value[stateIndex].pcap_LEDR_en & 0x1;
-+ ledg_en = led_register_value[stateIndex].pcap_LEDG_en & 0x1;
-+ ledr_ctrl = led_register_value[stateIndex].pcap_LEDR_CTRL & 0xf;
-+ ledg_ctrl = led_register_value[stateIndex].pcap_LEDG_CTRL & 0xf;
-+ ledr_i = led_register_value[stateIndex].pcap_LEDR_I & 0x3;
-+ ledg_i = led_register_value[stateIndex].pcap_LEDG_I & 0x3;
-+ skip = led_register_value[stateIndex].pcap_SKIP_on & 0x1;
-+
-+ /* disable LEDs */
-+ if( ezx_pcap_read(SSP_PCAP_ADJ_PERIPH_REGISTER,&tempValue) != SSP_PCAP_SUCCESS )
-+ {
-+ printk( KERN_WARNING "LED PCAP Read Failed\n" );
-+ return;
-+ }
-+ tempValue &= (~SSP_PCAP_LED_MASK);
-+ if( ezx_pcap_write(SSP_PCAP_ADJ_PERIPH_REGISTER,tempValue) != SSP_PCAP_SUCCESS )
-+ {
-+ printk( KERN_WARNING "LED PCAP Write Failed (Clear Data)\n" );
-+ return;
-+ }
-+
-+ /* configure GPIOs as output */
-+ pxa_gpio_mode(IND_CNTL_R_BUL | GPIO_OUT);
-+ pxa_gpio_mode(IND_CNTL_G_BUL | GPIO_OUT);
-+
-+ //FIXME: Simplify this logic
-+ if ( (gpio_green && gpio_red) )
-+ {
-+ /*Disable Red & Green signal*/
-+ set_GPIO(IND_CNTL_R_BUL); /*IND_CNTL_R_BUL Low active*/
-+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) | GPIO_bit(IND_CNTL_R_BUL);
-+
-+ clr_GPIO(IND_CNTL_G_BUL); /*IND_CNTL_G_BUL High active*/
-+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) & (~GPIO_bit(IND_CNTL_G_BUL));
-+
-+ printk( KERN_DEBUG "LED GPIO Green & Red Disable\n");
-+ } else if ( gpio_green && !gpio_red )
-+ {
-+ /*Green Disable, Red Enable*/
-+ clr_GPIO(IND_CNTL_R_BUL);
-+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) & (~GPIO_bit(IND_CNTL_R_BUL));
-+
-+ clr_GPIO(IND_CNTL_G_BUL);
-+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) & (~GPIO_bit(IND_CNTL_G_BUL));
-+
-+ printk( KERN_DEBUG "LED GPIO Green Disable, Red Enable\n");
-+ } else if (gpio_red && !gpio_green )
-+ {
-+ /*Red Disable, Green Enable*/
-+ set_GPIO(IND_CNTL_R_BUL);
-+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) | GPIO_bit(IND_CNTL_R_BUL);
-+
-+ set_GPIO(IND_CNTL_G_BUL);