From: <mar...@us...> - 2007-07-15 06:33:55
|
Revision: 1149 http://svn.sourceforge.net/hackndev/?rev=1149&view=rev Author: marex_z71 Date: 2007-07-14 23:33:49 -0700 (Sat, 14 Jul 2007) Log Message: ----------- PalmTC: updated defconfig and touchscreen driver Modified Paths: -------------- linux4palm/linux/trunk/arch/arm/configs/palmtc_defconfig linux4palm/linux/trunk/drivers/input/touchscreen/palmtc_ts.c Modified: linux4palm/linux/trunk/arch/arm/configs/palmtc_defconfig =================================================================== --- linux4palm/linux/trunk/arch/arm/configs/palmtc_defconfig 2007-07-14 18:52:52 UTC (rev 1148) +++ linux4palm/linux/trunk/arch/arm/configs/palmtc_defconfig 2007-07-15 06:33:49 UTC (rev 1149) @@ -1,11 +1,14 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.20-hnd0 -# Mon Apr 23 22:34:55 2007 +# Linux kernel version: 2.6.21-hnd2 +# Sun Jul 15 05:05:07 2007 # CONFIG_ARM=y -# CONFIG_GENERIC_TIME is not set +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_TIME=y CONFIG_MMU=y +# CONFIG_NO_IOPORT is not set CONFIG_GENERIC_HARDIRQS=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_HARDIRQS_SW_RESEND=y @@ -15,6 +18,7 @@ # CONFIG_ARCH_HAS_ILOG2_U64 is not set CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ZONE_DMA=y CONFIG_ARCH_MTD_XIP=y CONFIG_VECTORS_BASE=0xffff0000 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" @@ -34,6 +38,7 @@ CONFIG_SWAP=y CONFIG_SYSVIPC=y # CONFIG_IPC_NS is not set +CONFIG_SYSVIPC_SYSCTL=y # CONFIG_POSIX_MQUEUE is not set # CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_TASKSTATS is not set @@ -42,6 +47,7 @@ # CONFIG_IKCONFIG is not set CONFIG_SYSFS_DEPRECATED=y # CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y # CONFIG_INITRAMFS_SOURCE is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL=y @@ -120,6 +126,7 @@ # CONFIG_ARCH_IXP2000 is not set # CONFIG_ARCH_IXP23XX is not set # CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_NS9XXX is not set # CONFIG_ARCH_PNX4008 is not set CONFIG_ARCH_PXA=y # CONFIG_ARCH_RPC is not set @@ -128,6 +135,8 @@ # CONFIG_ARCH_SHARK is not set # CONFIG_ARCH_LH7A40X is not set # CONFIG_ARCH_OMAP is not set +# CONFIG_BOARD_IRQ_MAP_SMALL is not set +# CONFIG_BOARD_IRQ_MAP_BIG is not set # # Intel PXA2xx Implementations @@ -156,6 +165,7 @@ # CONFIG_MACH_BLUEANGEL is not set # CONFIG_MACH_HTCBEETLES is not set # CONFIG_MACH_HW6900 is not set +# CONFIG_MACH_HTCATHENA is not set # CONFIG_ARCH_AXIMX3 is not set # CONFIG_ARCH_AXIMX5 is not set # CONFIG_MACH_X50 is not set @@ -177,6 +187,8 @@ # CONFIG_MACH_ZIRE31 is not set CONFIG_GPIOED=m CONFIG_GPIOEDNG=m +# CONFIG_MACH_GHI270HG is not set +# CONFIG_MACH_GHI270 is not set # CONFIG_PXA_SHARPSL is not set # CONFIG_MACH_TRIZEPS4 is not set CONFIG_PXA25x=y @@ -203,20 +215,12 @@ # CONFIG_ARM_THUMB=y # CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_OUTER_CACHE is not set CONFIG_IWMMXT=y # CONFIG_ARMBOOT_PROC is not set CONFIG_XSCALE_PMU=y -# CONFIG_KEXEC is not set # -# Compaq/iPAQ Drivers -# - -# -# Compaq/HP iPAQ Drivers -# - -# # Bus support # @@ -252,6 +256,7 @@ # CONFIG_SPARSEMEM_STATIC is not set CONFIG_SPLIT_PTLOCK_CPUS=4096 # CONFIG_RESOURCES_64BIT is not set +CONFIG_ZONE_DMA_FLAG=1 CONFIG_ALIGNMENT_TRAP=y # @@ -261,6 +266,8 @@ CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_CMDLINE="" # CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set +# CONFIG_TXTOFFSET_DELTA is not set # # CPU Frequency scaling @@ -293,7 +300,7 @@ # CONFIG_PM_DEBUG is not set # CONFIG_DPM_DEBUG is not set # CONFIG_PM_SYSFS_DEPRECATED is not set -CONFIG_APM=y +CONFIG_APM_EMULATION=y # # Networking @@ -454,6 +461,7 @@ # # Plug and Play support # +# CONFIG_PNPACPI is not set # # Block devices @@ -466,7 +474,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 -CONFIG_BLK_DEV_INITRD=y # CONFIG_CDROM_PKTCDVD is not set # CONFIG_ATA_OVER_ETH is not set @@ -612,6 +619,7 @@ CONFIG_INPUT_TSDEV_SCREEN_Y=320 CONFIG_INPUT_EVDEV=y # CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_LED_TRIGGER is not set # # Input Device Drivers @@ -623,7 +631,9 @@ # CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_STOWAWAY is not set -# CONFIG_GPIO_KEYS is not set +# CONFIG_GPIODEV_KEYS is not set +# CONFIG_GPIODEV_DIAGONAL is not set +# CONFIG_KEYBOARD_GPIO is not set # CONFIG_INPUT_MOUSE is not set # CONFIG_INPUT_JOYSTICK is not set CONFIG_INPUT_TOUCHSCREEN=y @@ -634,8 +644,6 @@ # CONFIG_TOUCHSCREEN_PENMOUNT is not set # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_ADC is not set -# CONFIG_TOUCHSCREEN_ADC_DEBOUNCE is not set # CONFIG_TOUCHSCREEN_UCB1400 is not set CONFIG_TOUCHSCREEN_PALMTC=m CONFIG_TOUCHSCREEN_WM97XX=m @@ -678,6 +686,7 @@ # CONFIG_SERIAL_PXA_IR is not set CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_RS232_SERIAL is not set CONFIG_UNIX98_PTYS=y CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256 @@ -693,9 +702,9 @@ # CONFIG_WATCHDOG is not set CONFIG_HW_RANDOM=m # CONFIG_NVRAM is not set - # CONFIG_DTLK is not set # CONFIG_R3964 is not set +# CONFIG_TIHTC is not set # # PCMCIA character devices @@ -731,46 +740,44 @@ # # CONFIG_HWMON is not set # CONFIG_HWMON_VID is not set +CONFIG_POWER_SUPPLY=m +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_PDA_POWER=m +CONFIG_APM_POWER=m +# CONFIG_BATTERY_DS2760 is not set # -# Hardware Monitoring - Battery +# L3 serial bus support # -CONFIG_BATTERY_MONITOR=m -# CONFIG_ADC_BATTERY is not set +# CONFIG_L3 is not set # -# L3 serial bus support +# Misc devices # -# CONFIG_L3 is not set +# CONFIG_BATTCHARGE_MONITOR is not set # -# SoC drivers +# Multimedia Capabilities Port drivers # +# CONFIG_ADC is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_SM501 is not set +# CONFIG_HTC_ASIC2 is not set +# CONFIG_HTC_ASIC3 is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_ASIC3_DS1WM is not set +# CONFIG_SOC_SAMCOP is not set +# CONFIG_SOC_HAMCOP is not set # CONFIG_SOC_MQ11XX is not set # CONFIG_SOC_T7L66XB is not set # CONFIG_SOC_TC6387XB is not set # CONFIG_SOC_TC6393XB is not set -# CONFIG_SOC_SAMCOP is not set -# CONFIG_SOC_HAMCOP is not set -# CONFIG_HTC_ASIC2 is not set -# CONFIG_HTC_ASIC3 is not set -# CONFIG_HTC_ASIC3_DS1WM is not set # CONFIG_SOC_TSC2200 is not set # -# Misc devices -# -# CONFIG_BATTCHARGE_MONITOR is not set - -# -# Multimedia Capabilities Port drivers -# -# CONFIG_MCP is not set -# CONFIG_ADC_ADS7846_SSP is not set -# CONFIG_ADC_AD7877 is not set -# CONFIG_TIFM_CORE is not set - -# # LED devices # CONFIG_NEW_LEDS=y @@ -803,15 +810,26 @@ # # Graphics support # +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_BACKLIGHT_CORGI is not set +CONFIG_BACKLIGHT_PXAPWM=m +CONFIG_FB=y CONFIG_FIRMWARE_EDID=y -CONFIG_FB=y +# CONFIG_FB_DDC is not set CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_SVGALIB is not set # CONFIG_FB_MACMODES is not set # CONFIG_FB_BACKLIGHT is not set # CONFIG_FB_MODE_HELPERS is not set CONFIG_FB_TILEBLITTING=y + +# +# Frame buffer hardware drivers +# # CONFIG_FB_IMAGEON is not set # CONFIG_FB_S1D13XXX is not set CONFIG_FB_PXA=y @@ -843,13 +861,6 @@ # Logo configuration # # CONFIG_LOGO is not set -CONFIG_BACKLIGHT_LCD_SUPPORT=y -CONFIG_BACKLIGHT_CLASS_DEVICE=m -CONFIG_BACKLIGHT_DEVICE=y -CONFIG_LCD_CLASS_DEVICE=m -CONFIG_LCD_DEVICE=y -# CONFIG_BACKLIGHT_CORGI is not set -CONFIG_BACKLIGHT_PXAPWM=m # # Sound @@ -913,6 +924,7 @@ # HID Devices # CONFIG_HID=m +# CONFIG_HID_DEBUG is not set # # USB support @@ -954,6 +966,7 @@ # CONFIG_USB_G_SERIAL is not set # CONFIG_USB_MIDI_GADGET is not set # CONFIG_USB_G_CHAR is not set +# CONFIG_USB_PXA2XX_GPIO is not set # # MMC/SD Card support @@ -962,7 +975,6 @@ # CONFIG_MMC_DEBUG is not set CONFIG_MMC_BLOCK=y CONFIG_MMC_PXA=y -# CONFIG_MMC_TIFM_SD is not set # CONFIG_MMC_TMIO is not set # CONFIG_MMC_SAMCOP is not set @@ -984,6 +996,7 @@ # # RTC drivers # +# CONFIG_RTC_DRV_CMOS is not set # CONFIG_RTC_DRV_DS1553 is not set # CONFIG_RTC_DRV_DS1742 is not set # CONFIG_RTC_DRV_M48T86 is not set @@ -1048,6 +1061,7 @@ # # CONFIG_ADFS_FS is not set # CONFIG_AFFS_FS is not set +# CONFIG_AUFS is not set # CONFIG_HFS_FS is not set # CONFIG_HFSPLUS_FS is not set # CONFIG_BEFS_FS is not set @@ -1177,8 +1191,10 @@ # CONFIG_CRYPTO_GF128MUL is not set CONFIG_CRYPTO_ECB=m CONFIG_CRYPTO_CBC=m +CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_LRW is not set # CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_FCRYPT is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set # CONFIG_CRYPTO_SERPENT is not set @@ -1192,6 +1208,7 @@ # CONFIG_CRYPTO_DEFLATE is not set CONFIG_CRYPTO_MICHAEL_MIC=m # CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_CAMELLIA is not set # CONFIG_CRYPTO_TEST is not set # @@ -1207,4 +1224,5 @@ CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set CONFIG_PLIST=y -CONFIG_IOMAP_COPY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y Modified: linux4palm/linux/trunk/drivers/input/touchscreen/palmtc_ts.c =================================================================== --- linux4palm/linux/trunk/drivers/input/touchscreen/palmtc_ts.c 2007-07-14 18:52:52 UTC (rev 1148) +++ linux4palm/linux/trunk/drivers/input/touchscreen/palmtc_ts.c 2007-07-15 06:33:49 UTC (rev 1149) @@ -29,7 +29,7 @@ #include <linux/freezer.h> #include <linux/ucb1400.h> #include <linux/ctype.h> -#include <linux/battery.h> +#include <linux/power_supply.h> #include <linux/leds.h> #include <linux/apm-emulation.h> @@ -418,17 +418,17 @@ }; -int ucb1400_battery_min_voltage(struct battery *b) +int ucb1400_battery_min_voltage(struct power_supply *b) { return UCB_BATT_MIN_VOLTAGE; } -int ucb1400_battery_max_voltage(struct battery *b) +int ucb1400_battery_max_voltage(struct power_supply *b) { return UCB_BATT_MAX_VOLTAGE; } -int ucb1400_battery_get_voltage(struct battery *b) +int ucb1400_battery_get_voltage(struct power_supply *b) { if (bat.battery_registered){ bat.previous_voltage = bat.current_voltage; @@ -444,7 +444,7 @@ } } -int ucb1400_battery_get_capacity(struct battery *b) +int ucb1400_battery_get_capacity(struct power_supply *b) { if (bat.battery_registered){ return (((ucb1400_battery_get_voltage(b)-ucb1400_battery_min_voltage(b)) @@ -457,69 +457,65 @@ } } -int ucb1400_battery_get_status(struct battery *b) +int ucb1400_battery_get_status(struct power_supply *b) { int ac_connected = !(gpio_get_value(GPIO_NR_PALMTC_CRADLE_DETECT_N)); int usb_connected = gpio_get_value(GPIO_NR_PALMTC_USB_DETECT); - ucb1400_adc_enable(bat.ucb); - if (ucb1400_adc_read(bat.ucb, UCB_ADC_INP_AD0) <= 0) - return BATTERY_STATUS_UNKNOWN; - ucb1400_adc_disable(bat.ucb); - - if (ac_connected || usb_connected){ - if ( ( bat.current_voltage > bat.previous_voltage ) || - ( bat.current_voltage <= UCB_BATT_MAX_VOLTAGE ) ) - return BATTERY_STATUS_CHARGING; - return BATTERY_STATUS_NOT_CHARGING; - } + if ( (ac_connected || usb_connected) && + ( ( bat.current_voltage > bat.previous_voltage ) || + ( bat.current_voltage <= UCB_BATT_MAX_VOLTAGE ) ) ) + return POWER_SUPPLY_STATUS_CHARGING; else - return BATTERY_STATUS_DISCHARGING; + return POWER_SUPPLY_STATUS_NOT_CHARGING; } int tmp; -static void *ucb1400_battery_get_property(struct battery *b, enum battery_property bp) +static int ucb1400_battery_get_property(struct power_supply *b, + enum power_supply_property psp, + union power_supply_propval *val) { - switch (bp) { - case BATTERY_PROP_VOLTAGE_MAX_DESIGN: - tmp = ucb1400_battery_max_voltage(b); - return &tmp; - case BATTERY_PROP_VOLTAGE_MIN_DESIGN: - tmp = ucb1400_battery_min_voltage(b); - return &tmp; - case BATTERY_PROP_CHARGE_FULL_DESIGN: - tmp = 100; - return &tmp; - case BATTERY_PROP_CHARGE_EMPTY_DESIGN: - tmp = 0; - return &tmp; - case BATTERY_PROP_CHARGE_NOW: - tmp = ucb1400_battery_get_capacity(b); - return &tmp; - case BATTERY_PROP_VOLTAGE_NOW: - tmp = ucb1400_battery_get_voltage(b); - return &tmp; - case BATTERY_PROP_STATUS: - tmp = ucb1400_battery_get_status(b); - return &tmp; - default: break; + switch (psp) { + case POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN: + val->intval = ucb1400_battery_max_voltage(b); + break; + case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN: + val->intval = ucb1400_battery_min_voltage(b); + break; + case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN: + val->intval = 100; + break; + case POWER_SUPPLY_PROP_CHARGE_EMPTY_DESIGN: + val->intval = 0; + break; + case POWER_SUPPLY_PROP_CHARGE_NOW: + val->intval = ucb1400_battery_get_capacity(b); + break; + case POWER_SUPPLY_PROP_VOLTAGE_NOW: + val->intval = ucb1400_battery_get_voltage(b); + break; + case POWER_SUPPLY_PROP_STATUS: + val->intval = ucb1400_battery_get_status(b); + break; + default: + break; }; - return NULL; + return 0; } -static enum battery_property ucb1400_battery_props[] = { - BATTERY_PROP_VOLTAGE_MAX_DESIGN, - BATTERY_PROP_VOLTAGE_MIN_DESIGN, - BATTERY_PROP_CHARGE_FULL_DESIGN, - BATTERY_PROP_CHARGE_EMPTY_DESIGN, - BATTERY_PROP_CHARGE_NOW, - BATTERY_PROP_VOLTAGE_NOW, - BATTERY_PROP_STATUS, +static enum power_supply_property ucb1400_battery_props[] = { + POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN, + POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN, + POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN, + POWER_SUPPLY_PROP_CHARGE_EMPTY_DESIGN, + POWER_SUPPLY_PROP_CHARGE_NOW, + POWER_SUPPLY_PROP_VOLTAGE_NOW, + POWER_SUPPLY_PROP_STATUS, }; -struct battery ucb1400_battery = { +struct power_supply ucb1400_battery = { .name = "ucb1400_battery", .get_property = ucb1400_battery_get_property, .properties = ucb1400_battery_props, @@ -906,7 +902,7 @@ /* register battery to APM layer */ bat.battery_registered = 0; - if(battery_register(NULL, &ucb1400_battery)) { + if(power_supply_register(NULL, &ucb1400_battery)) { printk(KERN_ERR "ucb1400_ts: could not register battery class\n"); } else { bat.battery_registered = 1; @@ -962,7 +958,7 @@ led_classdev_unregister(&ucb1400_gpio_vibra); led_classdev_unregister(&ucb1400_gpio_led); - battery_unregister(&ucb1400_battery); + power_supply_unregister(&ucb1400_battery); free_irq(ucb->irq, ucb); input_unregister_device(ucb->ts_idev); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |