summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@openedhand.com>2007-08-29 15:19:43 +0000
committerSamuel Ortiz <sameo@openedhand.com>2007-08-29 15:19:43 +0000
commitf79c41c26de0948fe5caef6dbc502093fc12d5ef (patch)
tree5513bf45c0eb396fb6fe5833ad79d9e7c49d2a17
parentff0a6211cdbf0a142ab5d232670e6ed8b25716a7 (diff)
downloadpoky-f79c41c26de0948fe5caef6dbc502093fc12d5ef.tar.gz
linux-rp: Ported the HTC Universal patch to the latest -rp kernel.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2594 311d38ba-8fff-0310-9ca6-ca027cbcb966
-rw-r--r--meta/packages/linux/linux-rp-2.6.22+2.6.23-rc4/defconfig-htcuniversal173
-rw-r--r--meta/packages/linux/linux-rp-2.6.22+2.6.23-rc4/htcuni.patch755
2 files changed, 222 insertions, 706 deletions
diff --git a/meta/packages/linux/linux-rp-2.6.22+2.6.23-rc4/defconfig-htcuniversal b/meta/packages/linux/linux-rp-2.6.22+2.6.23-rc4/defconfig-htcuniversal
index 04e9070b80..fb112b768b 100644
--- a/meta/packages/linux/linux-rp-2.6.22+2.6.23-rc4/defconfig-htcuniversal
+++ b/meta/packages/linux/linux-rp-2.6.22+2.6.23-rc4/defconfig-htcuniversal
@@ -1,13 +1,13 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.22 3# Linux kernel version: 2.6.23-rc4
4# Thu Aug 23 16:10:44 2007 4# Wed Aug 29 17:19:57 2007
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y 7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y 8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y 9CONFIG_GENERIC_TIME=y
10# CONFIG_GENERIC_CLOCKEVENTS is not set 10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y 11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set 12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y 13CONFIG_GENERIC_HARDIRQS=y
@@ -27,26 +27,21 @@ CONFIG_VECTORS_BASE=0xffff0000
27CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 27CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
28 28
29# 29#
30# Code maturity level options 30# General setup
31# 31#
32CONFIG_EXPERIMENTAL=y 32CONFIG_EXPERIMENTAL=y
33CONFIG_BROKEN_ON_SMP=y 33CONFIG_BROKEN_ON_SMP=y
34CONFIG_LOCK_KERNEL=y 34CONFIG_LOCK_KERNEL=y
35CONFIG_INIT_ENV_ARG_LIMIT=32 35CONFIG_INIT_ENV_ARG_LIMIT=32
36
37#
38# General setup
39#
40CONFIG_LOCALVERSION="" 36CONFIG_LOCALVERSION=""
41CONFIG_LOCALVERSION_AUTO=y 37CONFIG_LOCALVERSION_AUTO=y
42CONFIG_SWAP=y 38CONFIG_SWAP=y
43CONFIG_SYSVIPC=y 39CONFIG_SYSVIPC=y
44# CONFIG_IPC_NS is not set
45CONFIG_SYSVIPC_SYSCTL=y 40CONFIG_SYSVIPC_SYSCTL=y
46# CONFIG_POSIX_MQUEUE is not set 41# CONFIG_POSIX_MQUEUE is not set
47# CONFIG_BSD_PROCESS_ACCT is not set 42# CONFIG_BSD_PROCESS_ACCT is not set
48# CONFIG_TASKSTATS is not set 43# CONFIG_TASKSTATS is not set
49# CONFIG_UTS_NS is not set 44# CONFIG_USER_NS is not set
50# CONFIG_AUDIT is not set 45# CONFIG_AUDIT is not set
51CONFIG_IKCONFIG=y 46CONFIG_IKCONFIG=y
52CONFIG_IKCONFIG_PROC=y 47CONFIG_IKCONFIG_PROC=y
@@ -81,24 +76,17 @@ CONFIG_SLAB=y
81CONFIG_RT_MUTEXES=y 76CONFIG_RT_MUTEXES=y
82# CONFIG_TINY_SHMEM is not set 77# CONFIG_TINY_SHMEM is not set
83CONFIG_BASE_SMALL=0 78CONFIG_BASE_SMALL=0
84
85#
86# Loadable module support
87#
88CONFIG_MODULES=y 79CONFIG_MODULES=y
89CONFIG_MODULE_UNLOAD=y 80CONFIG_MODULE_UNLOAD=y
90CONFIG_MODULE_FORCE_UNLOAD=y 81CONFIG_MODULE_FORCE_UNLOAD=y
91# CONFIG_MODVERSIONS is not set 82# CONFIG_MODVERSIONS is not set
92# CONFIG_MODULE_SRCVERSION_ALL is not set 83# CONFIG_MODULE_SRCVERSION_ALL is not set
93CONFIG_KMOD=y 84CONFIG_KMOD=y
94
95#
96# Block layer
97#
98CONFIG_BLOCK=y 85CONFIG_BLOCK=y
99# CONFIG_LBD is not set 86# CONFIG_LBD is not set
100# CONFIG_BLK_DEV_IO_TRACE is not set 87# CONFIG_BLK_DEV_IO_TRACE is not set
101# CONFIG_LSF is not set 88# CONFIG_LSF is not set
89# CONFIG_BLK_DEV_BSG is not set
102 90
103# 91#
104# IO Schedulers 92# IO Schedulers
@@ -139,6 +127,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
139# CONFIG_ARCH_L7200 is not set 127# CONFIG_ARCH_L7200 is not set
140# CONFIG_ARCH_KS8695 is not set 128# CONFIG_ARCH_KS8695 is not set
141# CONFIG_ARCH_NS9XXX is not set 129# CONFIG_ARCH_NS9XXX is not set
130# CONFIG_ARCH_MXC is not set
142# CONFIG_ARCH_PNX4008 is not set 131# CONFIG_ARCH_PNX4008 is not set
143CONFIG_ARCH_PXA=y 132CONFIG_ARCH_PXA=y
144# CONFIG_ARCH_RPC is not set 133# CONFIG_ARCH_RPC is not set
@@ -158,6 +147,7 @@ CONFIG_ARCH_PXA=y
158# CONFIG_ARCH_PXA_IDP is not set 147# CONFIG_ARCH_PXA_IDP is not set
159# CONFIG_PXA_SHARPSL is not set 148# CONFIG_PXA_SHARPSL is not set
160# CONFIG_MACH_TRIZEPS4 is not set 149# CONFIG_MACH_TRIZEPS4 is not set
150# CONFIG_MACH_EM_X270 is not set
161# CONFIG_MACH_HX2750 is not set 151# CONFIG_MACH_HX2750 is not set
162CONFIG_MACH_HTCUNIVERSAL=y 152CONFIG_MACH_HTCUNIVERSAL=y
163 153
@@ -179,6 +169,14 @@ CONFIG_PXA27x=y
179# CONFIG_PXA_KEYS is not set 169# CONFIG_PXA_KEYS is not set
180 170
181# 171#
172# Boot options
173#
174
175#
176# Power management
177#
178
179#
182# Processor Type 180# Processor Type
183# 181#
184CONFIG_CPU_32=y 182CONFIG_CPU_32=y
@@ -202,6 +200,7 @@ CONFIG_XSCALE_PMU=y
202# 200#
203# Bus support 201# Bus support
204# 202#
203# CONFIG_PCI_SYSCALL is not set
205# CONFIG_ARCH_SUPPORTS_MSI is not set 204# CONFIG_ARCH_SUPPORTS_MSI is not set
206 205
207# 206#
@@ -213,8 +212,9 @@ CONFIG_XSCALE_PMU=y
213# Kernel Features 212# Kernel Features
214# 213#
215# CONFIG_TICK_ONESHOT is not set 214# CONFIG_TICK_ONESHOT is not set
215# CONFIG_NO_HZ is not set
216# CONFIG_HIGH_RES_TIMERS is not set
216CONFIG_PREEMPT=y 217CONFIG_PREEMPT=y
217CONFIG_NO_IDLE_HZ=y
218CONFIG_HZ=100 218CONFIG_HZ=100
219CONFIG_AEABI=y 219CONFIG_AEABI=y
220CONFIG_OABI_COMPAT=y 220CONFIG_OABI_COMPAT=y
@@ -229,6 +229,8 @@ CONFIG_FLAT_NODE_MEM_MAP=y
229CONFIG_SPLIT_PTLOCK_CPUS=4096 229CONFIG_SPLIT_PTLOCK_CPUS=4096
230# CONFIG_RESOURCES_64BIT is not set 230# CONFIG_RESOURCES_64BIT is not set
231CONFIG_ZONE_DMA_FLAG=1 231CONFIG_ZONE_DMA_FLAG=1
232CONFIG_BOUNCE=y
233CONFIG_VIRT_TO_BUS=y
232CONFIG_ALIGNMENT_TRAP=y 234CONFIG_ALIGNMENT_TRAP=y
233 235
234# 236#
@@ -280,7 +282,7 @@ CONFIG_BINFMT_ELF=y
280CONFIG_PM=y 282CONFIG_PM=y
281# CONFIG_PM_LEGACY is not set 283# CONFIG_PM_LEGACY is not set
282# CONFIG_PM_DEBUG is not set 284# CONFIG_PM_DEBUG is not set
283CONFIG_PM_SYSFS_DEPRECATED=y 285# CONFIG_SUSPEND is not set
284CONFIG_APM_EMULATION=y 286CONFIG_APM_EMULATION=y
285 287
286# 288#
@@ -439,6 +441,7 @@ CONFIG_WIRELESS_EXT=y
439# CONFIG_MAC80211 is not set 441# CONFIG_MAC80211 is not set
440# CONFIG_IEEE80211 is not set 442# CONFIG_IEEE80211 is not set
441# CONFIG_RFKILL is not set 443# CONFIG_RFKILL is not set
444# CONFIG_NET_9P is not set
442 445
443# 446#
444# Device Drivers 447# Device Drivers
@@ -453,10 +456,6 @@ CONFIG_FW_LOADER=y
453# CONFIG_DEBUG_DRIVER is not set 456# CONFIG_DEBUG_DRIVER is not set
454# CONFIG_DEBUG_DEVRES is not set 457# CONFIG_DEBUG_DEVRES is not set
455# CONFIG_SYS_HYPERVISOR is not set 458# CONFIG_SYS_HYPERVISOR is not set
456
457#
458# Connector - unified userspace <-> kernelspace linker
459#
460# CONFIG_CONNECTOR is not set 459# CONFIG_CONNECTOR is not set
461CONFIG_MTD=y 460CONFIG_MTD=y
462CONFIG_MTD_DEBUG=y 461CONFIG_MTD_DEBUG=y
@@ -529,20 +528,8 @@ CONFIG_MTDRAM_ERASE_SIZE=128
529# UBI - Unsorted block images 528# UBI - Unsorted block images
530# 529#
531# CONFIG_MTD_UBI is not set 530# CONFIG_MTD_UBI is not set
532
533#
534# Parallel port support
535#
536# CONFIG_PARPORT is not set 531# CONFIG_PARPORT is not set
537 532CONFIG_BLK_DEV=y
538#
539# Plug and Play support
540#
541# CONFIG_PNPACPI is not set
542
543#
544# Block devices
545#
546# CONFIG_BLK_DEV_COW_COMMON is not set 533# CONFIG_BLK_DEV_COW_COMMON is not set
547# CONFIG_BLK_DEV_LOOP is not set 534# CONFIG_BLK_DEV_LOOP is not set
548# CONFIG_BLK_DEV_NBD is not set 535# CONFIG_BLK_DEV_NBD is not set
@@ -556,41 +543,26 @@ CONFIG_MTDRAM_ERASE_SIZE=128
556# 543#
557# CONFIG_RAID_ATTRS is not set 544# CONFIG_RAID_ATTRS is not set
558# CONFIG_SCSI is not set 545# CONFIG_SCSI is not set
546# CONFIG_SCSI_DMA is not set
559# CONFIG_SCSI_NETLINK is not set 547# CONFIG_SCSI_NETLINK is not set
560# CONFIG_ATA is not set 548# CONFIG_ATA is not set
561
562#
563# Multi-device support (RAID and LVM)
564#
565# CONFIG_MD is not set 549# CONFIG_MD is not set
566
567#
568# Network device support
569#
570CONFIG_NETDEVICES=y 550CONFIG_NETDEVICES=y
551# CONFIG_NETDEVICES_MULTIQUEUE is not set
571# CONFIG_DUMMY is not set 552# CONFIG_DUMMY is not set
572# CONFIG_BONDING is not set 553# CONFIG_BONDING is not set
554# CONFIG_MACVLAN is not set
573# CONFIG_EQUALIZER is not set 555# CONFIG_EQUALIZER is not set
574# CONFIG_TUN is not set 556# CONFIG_TUN is not set
575
576#
577# Ethernet (10 or 100Mbit)
578#
579# CONFIG_NET_ETHERNET is not set 557# CONFIG_NET_ETHERNET is not set
580CONFIG_NETDEV_1000=y 558# CONFIG_NETDEV_1000 is not set
581CONFIG_NETDEV_10000=y 559# CONFIG_NETDEV_10000 is not set
582 560
583# 561#
584# Wireless LAN 562# Wireless LAN
585# 563#
586CONFIG_NET_RADIO=y
587# CONFIG_NET_WIRELESS_RTNETLINK is not set
588# CONFIG_WLAN_PRE80211 is not set 564# CONFIG_WLAN_PRE80211 is not set
589# CONFIG_WLAN_80211 is not set 565# CONFIG_WLAN_80211 is not set
590CONFIG_ACX=m
591CONFIG_ACX_MEM=y
592# CONFIG_ACX_CS is not set
593CONFIG_ACX_HTCUNIVERSAL=m
594# CONFIG_WAN is not set 566# CONFIG_WAN is not set
595CONFIG_PPP=m 567CONFIG_PPP=m
596# CONFIG_PPP_MULTILINK is not set 568# CONFIG_PPP_MULTILINK is not set
@@ -601,16 +573,13 @@ CONFIG_PPP_DEFLATE=m
601CONFIG_PPP_BSDCOMP=m 573CONFIG_PPP_BSDCOMP=m
602CONFIG_PPP_MPPE=m 574CONFIG_PPP_MPPE=m
603# CONFIG_PPPOE is not set 575# CONFIG_PPPOE is not set
576# CONFIG_PPPOL2TP is not set
604# CONFIG_SLIP is not set 577# CONFIG_SLIP is not set
605CONFIG_SLHC=m 578CONFIG_SLHC=m
606# CONFIG_SHAPER is not set 579# CONFIG_SHAPER is not set
607# CONFIG_NETCONSOLE is not set 580# CONFIG_NETCONSOLE is not set
608# CONFIG_NETPOLL is not set 581# CONFIG_NETPOLL is not set
609# CONFIG_NET_POLL_CONTROLLER is not set 582# CONFIG_NET_POLL_CONTROLLER is not set
610
611#
612# ISDN subsystem
613#
614# CONFIG_ISDN is not set 583# CONFIG_ISDN is not set
615 584
616# 585#
@@ -647,9 +616,11 @@ CONFIG_INPUT_MOUSE=y
647# CONFIG_MOUSE_SERIAL is not set 616# CONFIG_MOUSE_SERIAL is not set
648# CONFIG_MOUSE_APPLETOUCH is not set 617# CONFIG_MOUSE_APPLETOUCH is not set
649# CONFIG_MOUSE_VSXXXAA is not set 618# CONFIG_MOUSE_VSXXXAA is not set
619# CONFIG_MOUSE_GPIO is not set
650# CONFIG_INPUT_JOYSTICK is not set 620# CONFIG_INPUT_JOYSTICK is not set
651# CONFIG_INPUT_TABLET is not set 621# CONFIG_INPUT_TABLET is not set
652CONFIG_INPUT_TOUCHSCREEN=y 622CONFIG_INPUT_TOUCHSCREEN=y
623# CONFIG_TOUCHSCREEN_FUJITSU is not set
653# CONFIG_TOUCHSCREEN_GUNZE is not set 624# CONFIG_TOUCHSCREEN_GUNZE is not set
654# CONFIG_TOUCHSCREEN_ELO is not set 625# CONFIG_TOUCHSCREEN_ELO is not set
655# CONFIG_TOUCHSCREEN_MTOUCH is not set 626# CONFIG_TOUCHSCREEN_MTOUCH is not set
@@ -697,20 +668,12 @@ CONFIG_SERIAL_CORE_CONSOLE=y
697CONFIG_UNIX98_PTYS=y 668CONFIG_UNIX98_PTYS=y
698CONFIG_LEGACY_PTYS=y 669CONFIG_LEGACY_PTYS=y
699CONFIG_LEGACY_PTY_COUNT=32 670CONFIG_LEGACY_PTY_COUNT=32
700
701#
702# IPMI
703#
704# CONFIG_IPMI_HANDLER is not set 671# CONFIG_IPMI_HANDLER is not set
705# CONFIG_WATCHDOG is not set 672# CONFIG_WATCHDOG is not set
706# CONFIG_HW_RANDOM is not set 673# CONFIG_HW_RANDOM is not set
707# CONFIG_NVRAM is not set 674# CONFIG_NVRAM is not set
708# CONFIG_R3964 is not set 675# CONFIG_R3964 is not set
709# CONFIG_RAW_DRIVER is not set 676# CONFIG_RAW_DRIVER is not set
710
711#
712# TPM devices
713#
714# CONFIG_TCG_TPM is not set 677# CONFIG_TCG_TPM is not set
715CONFIG_I2C=m 678CONFIG_I2C=m
716CONFIG_I2C_BOARDINFO=y 679CONFIG_I2C_BOARDINFO=y
@@ -732,6 +695,7 @@ CONFIG_I2C_PXA=m
732# CONFIG_I2C_OCORES is not set 695# CONFIG_I2C_OCORES is not set
733# CONFIG_I2C_PARPORT_LIGHT is not set 696# CONFIG_I2C_PARPORT_LIGHT is not set
734# CONFIG_I2C_SIMTEC is not set 697# CONFIG_I2C_SIMTEC is not set
698# CONFIG_I2C_TAOS_EVM is not set
735# CONFIG_I2C_STUB is not set 699# CONFIG_I2C_STUB is not set
736 700
737# 701#
@@ -739,11 +703,13 @@ CONFIG_I2C_PXA=m
739# 703#
740# CONFIG_SENSORS_DS1337 is not set 704# CONFIG_SENSORS_DS1337 is not set
741# CONFIG_SENSORS_DS1374 is not set 705# CONFIG_SENSORS_DS1374 is not set
706# CONFIG_DS1682 is not set
742# CONFIG_SENSORS_EEPROM is not set 707# CONFIG_SENSORS_EEPROM is not set
743# CONFIG_SENSORS_PCF8574 is not set 708# CONFIG_SENSORS_PCF8574 is not set
744# CONFIG_SENSORS_PCA9539 is not set 709# CONFIG_SENSORS_PCA9539 is not set
745# CONFIG_SENSORS_PCF8591 is not set 710# CONFIG_SENSORS_PCF8591 is not set
746# CONFIG_SENSORS_MAX6875 is not set 711# CONFIG_SENSORS_MAX6875 is not set
712# CONFIG_SENSORS_TSL2550 is not set
747# CONFIG_I2C_DEBUG_CORE is not set 713# CONFIG_I2C_DEBUG_CORE is not set
748# CONFIG_I2C_DEBUG_ALGO is not set 714# CONFIG_I2C_DEBUG_ALGO is not set
749# CONFIG_I2C_DEBUG_BUS is not set 715# CONFIG_I2C_DEBUG_BUS is not set
@@ -754,10 +720,6 @@ CONFIG_I2C_PXA=m
754# 720#
755# CONFIG_SPI is not set 721# CONFIG_SPI is not set
756# CONFIG_SPI_MASTER is not set 722# CONFIG_SPI_MASTER is not set
757
758#
759# Dallas's 1-wire bus
760#
761CONFIG_W1=y 723CONFIG_W1=y
762 724
763# 725#
@@ -779,10 +741,8 @@ CONFIG_PDA_POWER=y
779CONFIG_APM_POWER=y 741CONFIG_APM_POWER=y
780CONFIG_BATTERY_DS2760=y 742CONFIG_BATTERY_DS2760=y
781# CONFIG_HWMON is not set 743# CONFIG_HWMON is not set
782 744CONFIG_MISC_DEVICES=y
783# 745# CONFIG_EEPROM_93CX6 is not set
784# Misc devices
785#
786 746
787# 747#
788# Multifunction device drivers 748# Multifunction device drivers
@@ -794,16 +754,13 @@ CONFIG_HTC_ASIC3_DS1WM=y
794# 754#
795# Multi-Function Devices 755# Multi-Function Devices
796# 756#
797
798#
799# LED devices
800#
801CONFIG_NEW_LEDS=y 757CONFIG_NEW_LEDS=y
802CONFIG_LEDS_CLASS=y 758CONFIG_LEDS_CLASS=y
803 759
804# 760#
805# LED drivers 761# LED drivers
806# 762#
763# CONFIG_LEDS_GPIO is not set
807CONFIG_LEDS_ASIC3=y 764CONFIG_LEDS_ASIC3=y
808 765
809# 766#
@@ -824,8 +781,8 @@ CONFIG_DAB=y
824# Graphics support 781# Graphics support
825# 782#
826CONFIG_BACKLIGHT_LCD_SUPPORT=y 783CONFIG_BACKLIGHT_LCD_SUPPORT=y
827CONFIG_BACKLIGHT_CLASS_DEVICE=y
828CONFIG_LCD_CLASS_DEVICE=y 784CONFIG_LCD_CLASS_DEVICE=y
785CONFIG_BACKLIGHT_CLASS_DEVICE=y
829CONFIG_BACKLIGHT_CORGI=y 786CONFIG_BACKLIGHT_CORGI=y
830 787
831# 788#
@@ -833,6 +790,7 @@ CONFIG_BACKLIGHT_CORGI=y
833# 790#
834# CONFIG_DISPLAY_SUPPORT is not set 791# CONFIG_DISPLAY_SUPPORT is not set
835# CONFIG_VGASTATE is not set 792# CONFIG_VGASTATE is not set
793CONFIG_VIDEO_OUTPUT_CONTROL=m
836CONFIG_FB=y 794CONFIG_FB=y
837# CONFIG_FIRMWARE_EDID is not set 795# CONFIG_FIRMWARE_EDID is not set
838# CONFIG_FB_DDC is not set 796# CONFIG_FB_DDC is not set
@@ -868,6 +826,7 @@ CONFIG_FB_PXA_LCD_QVGA=y
868# CONFIG_VGA_CONSOLE is not set 826# CONFIG_VGA_CONSOLE is not set
869CONFIG_DUMMY_CONSOLE=y 827CONFIG_DUMMY_CONSOLE=y
870CONFIG_FRAMEBUFFER_CONSOLE=y 828CONFIG_FRAMEBUFFER_CONSOLE=y
829# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
871CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y 830CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
872CONFIG_FONTS=y 831CONFIG_FONTS=y
873CONFIG_FONT_8x8=y 832CONFIG_FONT_8x8=y
@@ -930,19 +889,17 @@ CONFIG_SND_VERBOSE_PROCFS=y
930# CONFIG_SND_SOC is not set 889# CONFIG_SND_SOC is not set
931 890
932# 891#
933# Open Sound System 892# SoC Audio support for SuperH
934# 893#
935# CONFIG_SOUND_PRIME is not set
936 894
937# 895#
938# HID Devices 896# Open Sound System
939# 897#
898# CONFIG_SOUND_PRIME is not set
899CONFIG_HID_SUPPORT=y
940CONFIG_HID=m 900CONFIG_HID=m
941# CONFIG_HID_DEBUG is not set 901# CONFIG_HID_DEBUG is not set
942 902CONFIG_USB_SUPPORT=y
943#
944# USB support
945#
946CONFIG_USB_ARCH_HAS_HCD=y 903CONFIG_USB_ARCH_HAS_HCD=y
947CONFIG_USB_ARCH_HAS_OHCI=y 904CONFIG_USB_ARCH_HAS_OHCI=y
948# CONFIG_USB_ARCH_HAS_EHCI is not set 905# CONFIG_USB_ARCH_HAS_EHCI is not set
@@ -956,16 +913,20 @@ CONFIG_USB_ARCH_HAS_OHCI=y
956# USB Gadget Support 913# USB Gadget Support
957# 914#
958CONFIG_USB_GADGET=y 915CONFIG_USB_GADGET=y
916# CONFIG_USB_GADGET_DEBUG is not set
959# CONFIG_USB_GADGET_DEBUG_FILES is not set 917# CONFIG_USB_GADGET_DEBUG_FILES is not set
960CONFIG_USB_GADGET_SELECTED=y 918CONFIG_USB_GADGET_SELECTED=y
919# CONFIG_USB_GADGET_AMD5536UDC is not set
961# CONFIG_USB_GADGET_FSL_USB2 is not set 920# CONFIG_USB_GADGET_FSL_USB2 is not set
962# CONFIG_USB_GADGET_NET2280 is not set 921# CONFIG_USB_GADGET_NET2280 is not set
963# CONFIG_USB_GADGET_PXA2XX is not set 922# CONFIG_USB_GADGET_PXA2XX is not set
923# CONFIG_USB_GADGET_M66592 is not set
964CONFIG_USB_GADGET_PXA27X=y 924CONFIG_USB_GADGET_PXA27X=y
965CONFIG_USB_PXA27X=y 925CONFIG_USB_PXA27X=y
966# CONFIG_USB_GADGET_GOKU is not set 926# CONFIG_USB_GADGET_GOKU is not set
967# CONFIG_USB_GADGET_LH7A40X is not set 927# CONFIG_USB_GADGET_LH7A40X is not set
968# CONFIG_USB_GADGET_OMAP is not set 928# CONFIG_USB_GADGET_OMAP is not set
929# CONFIG_USB_GADGET_S3C2410 is not set
969# CONFIG_USB_GADGET_AT91 is not set 930# CONFIG_USB_GADGET_AT91 is not set
970# CONFIG_USB_GADGET_DUMMY_HCD is not set 931# CONFIG_USB_GADGET_DUMMY_HCD is not set
971# CONFIG_USB_GADGET_DUALSPEED is not set 932# CONFIG_USB_GADGET_DUALSPEED is not set
@@ -984,16 +945,13 @@ CONFIG_MMC_UNSAFE_RESUME=y
984# MMC/SD Card Drivers 945# MMC/SD Card Drivers
985# 946#
986CONFIG_MMC_BLOCK=y 947CONFIG_MMC_BLOCK=y
948CONFIG_MMC_BLOCK_BOUNCE=y
987 949
988# 950#
989# MMC/SD Host Controller Drivers 951# MMC/SD Host Controller Drivers
990# 952#
991# CONFIG_MMC_PXA is not set 953# CONFIG_MMC_PXA is not set
992CONFIG_MMC_ASIC3=y 954CONFIG_MMC_ASIC3=y
993
994#
995# Real Time Clock
996#
997CONFIG_RTC_LIB=y 955CONFIG_RTC_LIB=y
998CONFIG_RTC_CLASS=y 956CONFIG_RTC_CLASS=y
999CONFIG_RTC_HCTOSYS=y 957CONFIG_RTC_HCTOSYS=y
@@ -1020,6 +978,7 @@ CONFIG_RTC_INTF_DEV=y
1020# CONFIG_RTC_DRV_X1205 is not set 978# CONFIG_RTC_DRV_X1205 is not set
1021# CONFIG_RTC_DRV_PCF8563 is not set 979# CONFIG_RTC_DRV_PCF8563 is not set
1022# CONFIG_RTC_DRV_PCF8583 is not set 980# CONFIG_RTC_DRV_PCF8583 is not set
981# CONFIG_RTC_DRV_M41T80 is not set
1023 982
1024# 983#
1025# SPI RTC drivers 984# SPI RTC drivers
@@ -1030,8 +989,10 @@ CONFIG_RTC_INTF_DEV=y
1030# 989#
1031# CONFIG_RTC_DRV_CMOS is not set 990# CONFIG_RTC_DRV_CMOS is not set
1032# CONFIG_RTC_DRV_DS1553 is not set 991# CONFIG_RTC_DRV_DS1553 is not set
992# CONFIG_RTC_DRV_STK17TA8 is not set
1033# CONFIG_RTC_DRV_DS1742 is not set 993# CONFIG_RTC_DRV_DS1742 is not set
1034# CONFIG_RTC_DRV_M48T86 is not set 994# CONFIG_RTC_DRV_M48T86 is not set
995# CONFIG_RTC_DRV_M48T59 is not set
1035# CONFIG_RTC_DRV_V3020 is not set 996# CONFIG_RTC_DRV_V3020 is not set
1036 997
1037# 998#
@@ -1040,6 +1001,19 @@ CONFIG_RTC_INTF_DEV=y
1040CONFIG_RTC_DRV_SA1100=y 1001CONFIG_RTC_DRV_SA1100=y
1041 1002
1042# 1003#
1004# DMA Engine support
1005#
1006# CONFIG_DMA_ENGINE is not set
1007
1008#
1009# DMA Clients
1010#
1011
1012#
1013# DMA Devices
1014#
1015
1016#
1043# File systems 1017# File systems
1044# 1018#
1045CONFIG_EXT2_FS=y 1019CONFIG_EXT2_FS=y
@@ -1135,7 +1109,6 @@ CONFIG_SUNRPC=y
1135# CONFIG_NCP_FS is not set 1109# CONFIG_NCP_FS is not set
1136# CONFIG_CODA_FS is not set 1110# CONFIG_CODA_FS is not set
1137# CONFIG_AFS_FS is not set 1111# CONFIG_AFS_FS is not set
1138# CONFIG_9P_FS is not set
1139 1112
1140# 1113#
1141# Partition Types 1114# Partition Types
@@ -1209,6 +1182,7 @@ CONFIG_ENABLE_MUST_CHECK=y
1209CONFIG_DEBUG_KERNEL=y 1182CONFIG_DEBUG_KERNEL=y
1210# CONFIG_DEBUG_SHIRQ is not set 1183# CONFIG_DEBUG_SHIRQ is not set
1211CONFIG_DETECT_SOFTLOCKUP=y 1184CONFIG_DETECT_SOFTLOCKUP=y
1185CONFIG_SCHED_DEBUG=y
1212# CONFIG_SCHEDSTATS is not set 1186# CONFIG_SCHEDSTATS is not set
1213# CONFIG_TIMER_STATS is not set 1187# CONFIG_TIMER_STATS is not set
1214# CONFIG_DEBUG_SLAB is not set 1188# CONFIG_DEBUG_SLAB is not set
@@ -1219,6 +1193,7 @@ CONFIG_DEBUG_PREEMPT=y
1219CONFIG_DEBUG_MUTEXES=y 1193CONFIG_DEBUG_MUTEXES=y
1220# CONFIG_DEBUG_LOCK_ALLOC is not set 1194# CONFIG_DEBUG_LOCK_ALLOC is not set
1221# CONFIG_PROVE_LOCKING is not set 1195# CONFIG_PROVE_LOCKING is not set
1196# CONFIG_LOCK_STAT is not set
1222# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1197# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1223# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1198# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1224# CONFIG_DEBUG_KOBJECT is not set 1199# CONFIG_DEBUG_KOBJECT is not set
@@ -1240,10 +1215,6 @@ CONFIG_DEBUG_LL=y
1240# 1215#
1241# CONFIG_KEYS is not set 1216# CONFIG_KEYS is not set
1242# CONFIG_SECURITY is not set 1217# CONFIG_SECURITY is not set
1243
1244#
1245# Cryptographic options
1246#
1247CONFIG_CRYPTO=y 1218CONFIG_CRYPTO=y
1248CONFIG_CRYPTO_ALGAPI=y 1219CONFIG_CRYPTO_ALGAPI=y
1249CONFIG_CRYPTO_BLKCIPHER=m 1220CONFIG_CRYPTO_BLKCIPHER=m
@@ -1283,10 +1254,7 @@ CONFIG_CRYPTO_DEFLATE=y
1283# CONFIG_CRYPTO_CRC32C is not set 1254# CONFIG_CRYPTO_CRC32C is not set
1284# CONFIG_CRYPTO_CAMELLIA is not set 1255# CONFIG_CRYPTO_CAMELLIA is not set
1285# CONFIG_CRYPTO_TEST is not set 1256# CONFIG_CRYPTO_TEST is not set
1286 1257CONFIG_CRYPTO_HW=y
1287#
1288# Hardware crypto devices
1289#
1290 1258
1291# 1259#
1292# Library routines 1260# Library routines
@@ -1296,6 +1264,7 @@ CONFIG_CRC_CCITT=y
1296# CONFIG_CRC16 is not set 1264# CONFIG_CRC16 is not set
1297# CONFIG_CRC_ITU_T is not set 1265# CONFIG_CRC_ITU_T is not set
1298CONFIG_CRC32=y 1266CONFIG_CRC32=y
1267# CONFIG_CRC7 is not set
1299# CONFIG_LIBCRC32C is not set 1268# CONFIG_LIBCRC32C is not set
1300CONFIG_ZLIB_INFLATE=y 1269CONFIG_ZLIB_INFLATE=y
1301CONFIG_ZLIB_DEFLATE=y 1270CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-rp-2.6.22+2.6.23-rc4/htcuni.patch b/meta/packages/linux/linux-rp-2.6.22+2.6.23-rc4/htcuni.patch
index a83c7afa34..8f473467c0 100644
--- a/meta/packages/linux/linux-rp-2.6.22+2.6.23-rc4/htcuni.patch
+++ b/meta/packages/linux/linux-rp-2.6.22+2.6.23-rc4/htcuni.patch
@@ -1,8 +1,9 @@
1--- 1---
2 arch/arm/Kconfig | 2
2 arch/arm/mach-pxa/Kconfig | 89 + 3 arch/arm/mach-pxa/Kconfig | 89 +
3 arch/arm/mach-pxa/Makefile | 1 4 arch/arm/mach-pxa/Makefile | 1
4 arch/arm/mach-pxa/corgi.c | 3 5 arch/arm/mach-pxa/corgi.c | 3
5 arch/arm/mach-pxa/generic.c | 12 6 arch/arm/mach-pxa/generic.c | 13
6 arch/arm/mach-pxa/htcuniversal/Makefile | 19 7 arch/arm/mach-pxa/htcuniversal/Makefile | 19
7 arch/arm/mach-pxa/htcuniversal/htcuniversal.c | 468 +++++ 8 arch/arm/mach-pxa/htcuniversal/htcuniversal.c | 468 +++++
8 arch/arm/mach-pxa/htcuniversal/htcuniversal_ak4641.c | 917 +++++++++++ 9 arch/arm/mach-pxa/htcuniversal/htcuniversal_ak4641.c | 917 +++++++++++
@@ -21,11 +22,9 @@
21 arch/arm/mach-pxa/htcuniversal/htcuniversal_ts2.c | 490 ++++++ 22 arch/arm/mach-pxa/htcuniversal/htcuniversal_ts2.c | 490 ++++++
22 arch/arm/mach-pxa/htcuniversal/htcuniversal_udc.c | 71 23 arch/arm/mach-pxa/htcuniversal/htcuniversal_udc.c | 71
23 arch/arm/mach-pxa/htcuniversal/tsc2046_ts.h | 20 24 arch/arm/mach-pxa/htcuniversal/tsc2046_ts.h | 20
24 arch/arm/mach-pxa/pm.c | 36
25 arch/arm/mach-pxa/spitz.c | 2 25 arch/arm/mach-pxa/spitz.c | 2
26 drivers/input/keyboard/Makefile | 2 26 drivers/input/keyboard/Makefile | 2
27 drivers/input/keyboard/asic3_keys.c | 131 + 27 drivers/input/keyboard/asic3_keys.c | 131 +
28 drivers/input/keyboard/pxa27x_keyboard.c | 2
29 drivers/leds/Kconfig | 7 28 drivers/leds/Kconfig | 7
30 drivers/leds/Makefile | 1 29 drivers/leds/Makefile | 1
31 drivers/leds/leds-asic3.c | 189 ++ 30 drivers/leds/leds-asic3.c | 189 ++
@@ -41,11 +40,6 @@
41 drivers/serial/pxa.c | 22 40 drivers/serial/pxa.c | 22
42 drivers/video/backlight/Kconfig | 2 41 drivers/video/backlight/Kconfig | 2
43 drivers/video/backlight/corgi_bl.c | 4 42 drivers/video/backlight/corgi_bl.c | 4
44 drivers/w1/slaves/Kconfig | 11
45 drivers/w1/slaves/Makefile | 2
46 drivers/w1/slaves/w1_ds2760.c | 213 ++
47 drivers/w1/slaves/w1_ds2760.h | 50
48 drivers/w1/w1_family.h | 1
49 include/asm-arm/arch-pxa/clock.h | 27 43 include/asm-arm/arch-pxa/clock.h | 27
50 include/asm-arm/arch-pxa/htcuniversal-asic.h | 213 ++ 44 include/asm-arm/arch-pxa/htcuniversal-asic.h | 213 ++
51 include/asm-arm/arch-pxa/htcuniversal-gpio.h | 220 ++ 45 include/asm-arm/arch-pxa/htcuniversal-gpio.h | 220 ++
@@ -63,15 +57,14 @@
63 include/linux/gpiodev.h | 44 57 include/linux/gpiodev.h | 44
64 include/linux/input_pda.h | 47 58 include/linux/input_pda.h | 47
65 include/linux/ioport.h | 1 59 include/linux/ioport.h | 1
66 include/linux/pda_power.h | 31
67 include/linux/soc/asic3_base.h | 104 + 60 include/linux/soc/asic3_base.h | 104 +
68 include/linux/soc/tmio_mmc.h | 17 61 include/linux/soc/tmio_mmc.h | 17
69 67 files changed, 7808 insertions(+), 17 deletions(-) 62 60 files changed, 7468 insertions(+), 14 deletions(-)
70 63
71Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/Makefile 64Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/Makefile
72=================================================================== 65===================================================================
73--- /dev/null 1970-01-01 00:00:00.000000000 +0000 66--- /dev/null 1970-01-01 00:00:00.000000000 +0000
74+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/Makefile 2007-08-23 13:09:22.000000000 +0200 67+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/Makefile 2007-08-29 12:44:49.000000000 +0200
75@@ -0,0 +1,19 @@ 68@@ -0,0 +1,19 @@
76+# 69+#
77+# Makefile for HTC Universal 70+# Makefile for HTC Universal
@@ -79,7 +72,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/Makefile
79+ 72+
80+snd-htcuniversal-ak4641-objs := htcuniversal_ak4641.o 73+snd-htcuniversal-ak4641-objs := htcuniversal_ak4641.o
81+ 74+
82+obj-$(CONFIG_MACH_HTCUNIVERSAL) += htcuniversal.o htcuniversal_pm.o 75+obj-$(CONFIG_MACH_HTCUNIVERSAL) += htcuniversal.o
83+obj-$(CONFIG_HTCUNIVERSAL_CORE) += htcuniversal_core.o 76+obj-$(CONFIG_HTCUNIVERSAL_CORE) += htcuniversal_core.o
84+obj-$(CONFIG_HTCUNIVERSAL_POWER) += htcuniversal_power2.o 77+obj-$(CONFIG_HTCUNIVERSAL_POWER) += htcuniversal_power2.o
85+obj-$(CONFIG_HTCUNIVERSAL_LCD) += htcuniversal_lcd.o 78+obj-$(CONFIG_HTCUNIVERSAL_LCD) += htcuniversal_lcd.o
@@ -95,7 +88,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/Makefile
95Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal.c 88Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal.c
96=================================================================== 89===================================================================
97--- /dev/null 1970-01-01 00:00:00.000000000 +0000 90--- /dev/null 1970-01-01 00:00:00.000000000 +0000
98+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal.c 2007-08-23 13:09:22.000000000 +0200 91+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal.c 2007-08-29 12:44:49.000000000 +0200
99@@ -0,0 +1,468 @@ 92@@ -0,0 +1,468 @@
100+/* 93+/*
101+ * Hardware definitions for HTC Universal 94+ * Hardware definitions for HTC Universal
@@ -510,7 +503,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal.c
510+ 503+
511+static void __init htcuniversal_init_irq(void) 504+static void __init htcuniversal_init_irq(void)
512+{ 505+{
513+ pxa_init_irq(); 506+ pxa27x_init_irq();
514+} 507+}
515+ 508+
516+static struct platform_pxa_serial_funcs htcuniversal_pxa_bt_funcs = { 509+static struct platform_pxa_serial_funcs htcuniversal_pxa_bt_funcs = {
@@ -568,7 +561,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal.c
568Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_ak4641.c 561Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_ak4641.c
569=================================================================== 562===================================================================
570--- /dev/null 1970-01-01 00:00:00.000000000 +0000 563--- /dev/null 1970-01-01 00:00:00.000000000 +0000
571+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_ak4641.c 2007-08-23 13:09:22.000000000 +0200 564+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_ak4641.c 2007-08-29 12:44:49.000000000 +0200
572@@ -0,0 +1,917 @@ 565@@ -0,0 +1,917 @@
573+/* 566+/*
574+ * Audio support for codec Asahi Kasei AK4641 567+ * Audio support for codec Asahi Kasei AK4641
@@ -1490,7 +1483,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_ak4641.c
1490Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_ak4641.h 1483Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_ak4641.h
1491=================================================================== 1484===================================================================
1492--- /dev/null 1970-01-01 00:00:00.000000000 +0000 1485--- /dev/null 1970-01-01 00:00:00.000000000 +0000
1493+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_ak4641.h 2007-08-23 13:09:22.000000000 +0200 1486+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_ak4641.h 2007-08-29 12:44:49.000000000 +0200
1494@@ -0,0 +1,65 @@ 1487@@ -0,0 +1,65 @@
1495+/* 1488+/*
1496+ * Audio support for codec Asahi Kasei AK4641 1489+ * Audio support for codec Asahi Kasei AK4641
@@ -1560,7 +1553,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_ak4641.h
1560Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_asic3_leds.c 1553Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_asic3_leds.c
1561=================================================================== 1554===================================================================
1562--- /dev/null 1970-01-01 00:00:00.000000000 +0000 1555--- /dev/null 1970-01-01 00:00:00.000000000 +0000
1563+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_asic3_leds.c 2007-08-23 13:09:22.000000000 +0200 1556+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_asic3_leds.c 2007-08-29 12:44:49.000000000 +0200
1564@@ -0,0 +1,143 @@ 1557@@ -0,0 +1,143 @@
1565+/* 1558+/*
1566+ * LEDs support for the HP iPaq hx4700 1559+ * LEDs support for the HP iPaq hx4700
@@ -1708,7 +1701,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_asic3_leds.c
1708Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_bl.c 1701Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_bl.c
1709=================================================================== 1702===================================================================
1710--- /dev/null 1970-01-01 00:00:00.000000000 +0000 1703--- /dev/null 1970-01-01 00:00:00.000000000 +0000
1711+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_bl.c 2007-08-23 13:09:22.000000000 +0200 1704+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_bl.c 2007-08-29 12:44:49.000000000 +0200
1712@@ -0,0 +1,61 @@ 1705@@ -0,0 +1,61 @@
1713+/* 1706+/*
1714+ * Use consistent with the GNU GPL is permitted, 1707+ * Use consistent with the GNU GPL is permitted,
@@ -1774,7 +1767,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_bl.c
1774Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_bt.c 1767Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_bt.c
1775=================================================================== 1768===================================================================
1776--- /dev/null 1970-01-01 00:00:00.000000000 +0000 1769--- /dev/null 1970-01-01 00:00:00.000000000 +0000
1777+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_bt.c 2007-08-23 13:09:22.000000000 +0200 1770+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_bt.c 2007-08-29 12:44:49.000000000 +0200
1778@@ -0,0 +1,135 @@ 1771@@ -0,0 +1,135 @@
1779+/* Bluetooth interface driver for TI BRF6150 on HX4700 1772+/* Bluetooth interface driver for TI BRF6150 on HX4700
1780+ * 1773+ *
@@ -1914,7 +1907,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_bt.c
1914Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_bt.h 1907Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_bt.h
1915=================================================================== 1908===================================================================
1916--- /dev/null 1970-01-01 00:00:00.000000000 +0000 1909--- /dev/null 1970-01-01 00:00:00.000000000 +0000
1917+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_bt.h 2007-08-23 13:09:22.000000000 +0200 1910+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_bt.h 2007-08-29 12:44:49.000000000 +0200
1918@@ -0,0 +1,17 @@ 1911@@ -0,0 +1,17 @@
1919+/* 1912+/*
1920+ * Bluetooth support file for calling bluetooth configuration functions 1913+ * Bluetooth support file for calling bluetooth configuration functions
@@ -1936,7 +1929,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_bt.h
1936Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_buttons.c 1929Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_buttons.c
1937=================================================================== 1930===================================================================
1938--- /dev/null 1970-01-01 00:00:00.000000000 +0000 1931--- /dev/null 1970-01-01 00:00:00.000000000 +0000
1939+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_buttons.c 2007-08-23 13:09:22.000000000 +0200 1932+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_buttons.c 2007-08-29 12:44:49.000000000 +0200
1940@@ -0,0 +1,87 @@ 1933@@ -0,0 +1,87 @@
1941+/* 1934+/*
1942+ * Buttons driver for HTC Universal 1935+ * Buttons driver for HTC Universal
@@ -2028,7 +2021,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_buttons.c
2028Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_core.c 2021Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_core.c
2029=================================================================== 2022===================================================================
2030--- /dev/null 1970-01-01 00:00:00.000000000 +0000 2023--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2031+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_core.c 2007-08-23 13:09:22.000000000 +0200 2024+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_core.c 2007-08-29 12:44:49.000000000 +0200
2032@@ -0,0 +1,226 @@ 2025@@ -0,0 +1,226 @@
2033+/* Core Hardware driver for Hx4700 (Serial, ASIC3, EGPIOs) 2026+/* Core Hardware driver for Hx4700 (Serial, ASIC3, EGPIOs)
2034+ * 2027+ *
@@ -2098,7 +2091,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_core.c
2098+ 2091+
2099+#ifdef CONFIG_PM 2092+#ifdef CONFIG_PM
2100+ 2093+
2101+void htcuniversal_ll_pm_init(void); 2094+//void htcuniversal_ll_pm_init(void);
2102+ 2095+
2103+static int htcuniversal_suspend(struct platform_device *dev, pm_message_t state) 2096+static int htcuniversal_suspend(struct platform_device *dev, pm_message_t state)
2104+{ 2097+{
@@ -2210,7 +2203,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_core.c
2210+ printk("Using stock HTC first stage bootloader\n"); 2203+ printk("Using stock HTC first stage bootloader\n");
2211+ htc_bootloader = 1; 2204+ htc_bootloader = 1;
2212+ 2205+
2213+ htcuniversal_ll_pm_init(); 2206+// htcuniversal_ll_pm_init();
2214+ 2207+
2215+ return 0; 2208+ return 0;
2216+} 2209+}
@@ -2259,7 +2252,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_core.c
2259Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_lcd.c 2252Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_lcd.c
2260=================================================================== 2253===================================================================
2261--- /dev/null 1970-01-01 00:00:00.000000000 +0000 2254--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2262+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_lcd.c 2007-08-23 13:09:22.000000000 +0200 2255+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_lcd.c 2007-08-29 12:44:49.000000000 +0200
2263@@ -0,0 +1,212 @@ 2256@@ -0,0 +1,212 @@
2264+/* 2257+/*
2265+ * Use consistent with the GNU GPL is permitted, 2258+ * Use consistent with the GNU GPL is permitted,
@@ -2404,7 +2397,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_lcd.c
2404+ 2397+
2405+static int htcuniversal_lcd_probe(struct platform_device * dev) 2398+static int htcuniversal_lcd_probe(struct platform_device * dev)
2406+{ 2399+{
2407+ htcuniversal_lcd_dev = lcd_device_register("pxa2xx-fb", NULL, 2400+ htcuniversal_lcd_dev = lcd_device_register("pxa2xx-fb", &dev->dev, NULL,
2408+ &htcuniversal_lcd_properties); 2401+ &htcuniversal_lcd_properties);
2409+ if (IS_ERR(htcuniversal_lcd_dev)) { 2402+ if (IS_ERR(htcuniversal_lcd_dev)) {
2410+ printk("htcuniversal_lcd_probe: error registering devices\n"); 2403+ printk("htcuniversal_lcd_probe: error registering devices\n");
@@ -2476,7 +2469,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_lcd.c
2476Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_phone.c 2469Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_phone.c
2477=================================================================== 2470===================================================================
2478--- /dev/null 1970-01-01 00:00:00.000000000 +0000 2471--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2479+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_phone.c 2007-08-23 13:09:22.000000000 +0200 2472+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_phone.c 2007-08-29 12:44:49.000000000 +0200
2480@@ -0,0 +1,167 @@ 2473@@ -0,0 +1,167 @@
2481+ 2474+
2482+/* Phone interface driver for Qualcomm MSM6250 on HTC Universal 2475+/* Phone interface driver for Qualcomm MSM6250 on HTC Universal
@@ -2648,7 +2641,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_phone.c
2648Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_phone.h 2641Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_phone.h
2649=================================================================== 2642===================================================================
2650--- /dev/null 1970-01-01 00:00:00.000000000 +0000 2643--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2651+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_phone.h 2007-08-23 13:09:22.000000000 +0200 2644+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_phone.h 2007-08-29 12:44:49.000000000 +0200
2652@@ -0,0 +1,16 @@ 2645@@ -0,0 +1,16 @@
2653+/* 2646+/*
2654+ * Bluetooth support file for calling bluetooth configuration functions 2647+ * Bluetooth support file for calling bluetooth configuration functions
@@ -2669,7 +2662,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_phone.h
2669Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_pm.c 2662Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_pm.c
2670=================================================================== 2663===================================================================
2671--- /dev/null 1970-01-01 00:00:00.000000000 +0000 2664--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2672+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_pm.c 2007-08-23 13:09:22.000000000 +0200 2665+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_pm.c 2007-08-29 12:44:49.000000000 +0200
2673@@ -0,0 +1,69 @@ 2666@@ -0,0 +1,69 @@
2674+/* 2667+/*
2675+ * MyPal 716 power management support for the original HTC IPL in DoC G3 2668+ * MyPal 716 power management support for the original HTC IPL in DoC G3
@@ -2743,7 +2736,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_pm.c
2743Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_power2.c 2736Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_power2.c
2744=================================================================== 2737===================================================================
2745--- /dev/null 1970-01-01 00:00:00.000000000 +0000 2738--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2746+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_power2.c 2007-08-23 13:09:22.000000000 +0200 2739+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_power2.c 2007-08-29 12:44:49.000000000 +0200
2747@@ -0,0 +1,97 @@ 2740@@ -0,0 +1,97 @@
2748+/* 2741+/*
2749+ * pda_power driver for HTC Universal 2742+ * pda_power driver for HTC Universal
@@ -2845,7 +2838,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_power2.c
2845Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_ts2.c 2838Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_ts2.c
2846=================================================================== 2839===================================================================
2847--- /dev/null 1970-01-01 00:00:00.000000000 +0000 2840--- /dev/null 1970-01-01 00:00:00.000000000 +0000
2848+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_ts2.c 2007-08-23 13:09:22.000000000 +0200 2841+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_ts2.c 2007-08-29 12:44:49.000000000 +0200
2849@@ -0,0 +1,490 @@ 2842@@ -0,0 +1,490 @@
2850+/* Touch screen driver for the TI something-or-other 2843+/* Touch screen driver for the TI something-or-other
2851+ * 2844+ *
@@ -3257,7 +3250,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_ts2.c
3257+ ts->pen_down=pen_down; 3250+ ts->pen_down=pen_down;
3258+ } 3251+ }
3259+ 3252+
3260+ retval = request_irq(ts->irq, pen_isr, SA_INTERRUPT, "tsc2046_ts", ts); 3253+ retval = request_irq(ts->irq, pen_isr, IRQF_DISABLED, "tsc2046_ts", ts);
3261+ if(retval) { 3254+ if(retval) {
3262+ printk("Unable to get interrupt\n"); 3255+ printk("Unable to get interrupt\n");
3263+ input_unregister_device (ts->input); 3256+ input_unregister_device (ts->input);
@@ -3340,7 +3333,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_ts2.c
3340Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_udc.c 3333Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_udc.c
3341=================================================================== 3334===================================================================
3342--- /dev/null 1970-01-01 00:00:00.000000000 +0000 3335--- /dev/null 1970-01-01 00:00:00.000000000 +0000
3343+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_udc.c 2007-08-23 13:09:22.000000000 +0200 3336+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_udc.c 2007-08-29 12:44:49.000000000 +0200
3344@@ -0,0 +1,71 @@ 3337@@ -0,0 +1,71 @@
3345+ 3338+
3346+/* 3339+/*
@@ -3416,7 +3409,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/htcuniversal_udc.c
3416Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/tsc2046_ts.h 3409Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/tsc2046_ts.h
3417=================================================================== 3410===================================================================
3418--- /dev/null 1970-01-01 00:00:00.000000000 +0000 3411--- /dev/null 1970-01-01 00:00:00.000000000 +0000
3419+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/tsc2046_ts.h 2007-08-23 13:09:22.000000000 +0200 3412+++ linux-2.6.22/arch/arm/mach-pxa/htcuniversal/tsc2046_ts.h 2007-08-29 12:44:49.000000000 +0200
3420@@ -0,0 +1,20 @@ 3413@@ -0,0 +1,20 @@
3421+/* 3414+/*
3422+ * temporary TSC2046 touchscreen hack 3415+ * temporary TSC2046 touchscreen hack
@@ -3440,9 +3433,9 @@ Index: linux-2.6.22/arch/arm/mach-pxa/htcuniversal/tsc2046_ts.h
3440+#endif 3433+#endif
3441Index: linux-2.6.22/arch/arm/mach-pxa/Kconfig 3434Index: linux-2.6.22/arch/arm/mach-pxa/Kconfig
3442=================================================================== 3435===================================================================
3443--- linux-2.6.22.orig/arch/arm/mach-pxa/Kconfig 2007-08-23 13:09:21.000000000 +0200 3436--- linux-2.6.22.orig/arch/arm/mach-pxa/Kconfig 2007-08-29 12:44:46.000000000 +0200
3444+++ linux-2.6.22/arch/arm/mach-pxa/Kconfig 2007-08-23 13:09:22.000000000 +0200 3437+++ linux-2.6.22/arch/arm/mach-pxa/Kconfig 2007-08-29 12:44:49.000000000 +0200
3445@@ -46,6 +46,14 @@ 3438@@ -50,6 +50,14 @@
3446 help 3439 help
3447 This enables support for the HP iPAQ HX2750 handheld. 3440 This enables support for the HP iPAQ HX2750 handheld.
3448 3441
@@ -3457,7 +3450,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/Kconfig
3457 endchoice 3450 endchoice
3458 3451
3459 if PXA_SHARPSL 3452 if PXA_SHARPSL
3460@@ -80,6 +88,86 @@ 3453@@ -84,6 +92,86 @@
3461 3454
3462 endif 3455 endif
3463 3456
@@ -3544,146 +3537,30 @@ Index: linux-2.6.22/arch/arm/mach-pxa/Kconfig
3544 endmenu 3537 endmenu
3545 3538
3546 config MACH_POODLE 3539 config MACH_POODLE
3547@@ -160,4 +248,3 @@ 3540@@ -164,4 +252,3 @@
3548 depends on (PXA25x || PXA27x) && INPUT 3541 depends on (PXA25x || PXA27x) && INPUT
3549 3542
3550 endif 3543 endif
3551- 3544-
3552Index: linux-2.6.22/arch/arm/mach-pxa/Makefile 3545Index: linux-2.6.22/arch/arm/mach-pxa/Makefile
3553=================================================================== 3546===================================================================
3554--- linux-2.6.22.orig/arch/arm/mach-pxa/Makefile 2007-08-23 13:09:21.000000000 +0200 3547--- linux-2.6.22.orig/arch/arm/mach-pxa/Makefile 2007-08-29 12:44:46.000000000 +0200
3555+++ linux-2.6.22/arch/arm/mach-pxa/Makefile 2007-08-23 13:09:22.000000000 +0200 3548+++ linux-2.6.22/arch/arm/mach-pxa/Makefile 2007-08-29 12:44:49.000000000 +0200
3556@@ -19,6 +19,7 @@ 3549@@ -20,6 +20,7 @@
3557 obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o sharpsl_pm.o poodle_pm.o
3558 obj-$(CONFIG_MACH_TOSA) += tosa.o 3550 obj-$(CONFIG_MACH_TOSA) += tosa.o
3551 obj-$(CONFIG_MACH_EM_X270) += em-x270.o
3559 obj-$(CONFIG_MACH_HX2750) += hx2750.o hx2750_test.o 3552 obj-$(CONFIG_MACH_HX2750) += hx2750.o hx2750_test.o
3560+obj-$(CONFIG_MACH_HTCUNIVERSAL) += htcuniversal/ 3553+obj-$(CONFIG_MACH_HTCUNIVERSAL) += htcuniversal/
3561 3554
3562 # Support for blinky lights 3555 # Support for blinky lights
3563 led-y := leds.o 3556 led-y := leds.o
3564Index: linux-2.6.22/arch/arm/mach-pxa/pm.c
3565===================================================================
3566--- linux-2.6.22.orig/arch/arm/mach-pxa/pm.c 2007-08-23 13:09:20.000000000 +0200
3567+++ linux-2.6.22/arch/arm/mach-pxa/pm.c 2007-08-23 13:09:22.000000000 +0200
3568@@ -22,6 +22,7 @@
3569 #include <asm/system.h>
3570 #include <asm/arch/pm.h>
3571 #include <asm/arch/pxa-regs.h>
3572+#include <asm/arch/pxa-pm_ll.h>
3573 #include <asm/arch/lubbock.h>
3574 #include <asm/mach/time.h>
3575
3576@@ -75,12 +76,16 @@
3577 };
3578
3579
3580+static struct pxa_ll_pm_ops *ll_ops;
3581+
3582 int pxa_pm_enter(suspend_state_t state)
3583 {
3584 unsigned long sleep_save[SLEEP_SAVE_SIZE];
3585 unsigned long checksum = 0;
3586+ struct timespec delta, rtc;
3587 int i;
3588 extern void pxa_cpu_pm_enter(suspend_state_t state);
3589+ extern void pxa_cpu_resume(void);
3590
3591 #ifdef CONFIG_IWMMXT
3592 /* force any iWMMXt context to ram **/
3593@@ -88,6 +93,11 @@
3594 iwmmxt_task_disable(NULL);
3595 #endif
3596
3597+ /* preserve current time */
3598+ rtc.tv_sec = RCNR;
3599+ rtc.tv_nsec = 0;
3600+ save_time_delta(&delta, &rtc);
3601+
3602 SAVE(GPLR0); SAVE(GPLR1); SAVE(GPLR2);
3603 SAVE(GPDR0); SAVE(GPDR1); SAVE(GPDR2);
3604 SAVE(GRER0); SAVE(GRER1); SAVE(GRER2);
3605@@ -123,6 +133,15 @@
3606 /* Clear sleep reset status */
3607 RCSR = RCSR_SMR;
3608
3609+ /* Set resume return address */
3610+ PSPR = virt_to_phys(pxa_cpu_resume);
3611+
3612+ /* If we have special sus/res logic, use it */
3613+ if(ll_ops && ll_ops->suspend) {
3614+ extern void pxa_cpu_resume(void);
3615+ ll_ops->suspend(virt_to_phys(pxa_cpu_resume));
3616+ }
3617+
3618 /* before sleeping, calculate and save a checksum */
3619 for (i = 0; i < SLEEP_SAVE_SIZE - 1; i++)
3620 checksum += sleep_save[i];
3621@@ -138,6 +157,9 @@
3622 for (i = 0; i < SLEEP_SAVE_SIZE - 1; i++)
3623 checksum += sleep_save[i];
3624
3625+ if(ll_ops && ll_ops->resume)
3626+ ll_ops->resume();
3627+
3628 /* if invalid, display message and wait for a hardware reset */
3629 if (checksum != sleep_save[SLEEP_SAVE_CKSUM]) {
3630 #ifdef CONFIG_ARCH_LUBBOCK
3631@@ -179,6 +201,10 @@
3632
3633 RESTORE(PSTR);
3634
3635+ /* restore current time */
3636+ rtc.tv_sec = RCNR;
3637+ restore_time_delta(&delta, &rtc);
3638+
3639 #ifdef DEBUG
3640 printk(KERN_DEBUG "*** made it back from resume\n");
3641 #endif
3642@@ -188,6 +214,13 @@
3643
3644 EXPORT_SYMBOL_GPL(pxa_pm_enter);
3645
3646+struct pxa_ll_pm_ops *pxa_pm_set_ll_ops(struct pxa_ll_pm_ops *new_ops) {
3647+ struct pxa_ll_pm_ops *old_ops = ll_ops;
3648+ ll_ops = new_ops;
3649+ return old_ops;
3650+}
3651+EXPORT_SYMBOL(pxa_pm_set_ll_ops);
3652+
3653 unsigned long sleep_phys_sp(void *sp)
3654 {
3655 return virt_to_phys(sp);
3656@@ -219,8 +252,9 @@
3657 .prepare = pxa_pm_prepare,
3658 .enter = pxa_pm_enter,
3659 .finish = pxa_pm_finish,
3660- .valid = pm_valid_only_mem,
3661+ .valid = pm_valid_only_mem,
3662 };
3663+//EXPORT_SYMBOL(pxa_pm_ops);
3664
3665 extern void pxa_cpu_resume(void);
3666
3667Index: linux-2.6.22/drivers/input/keyboard/pxa27x_keyboard.c
3668===================================================================
3669--- linux-2.6.22.orig/drivers/input/keyboard/pxa27x_keyboard.c 2007-07-09 01:32:17.000000000 +0200
3670+++ linux-2.6.22/drivers/input/keyboard/pxa27x_keyboard.c 2007-08-23 13:09:22.000000000 +0200
3671@@ -140,7 +140,7 @@
3672 KPREC = pdata->reg_kprec;
3673
3674 /* Enable unit clock */
3675- pxa_set_cken(CKEN19_KEYPAD, 1);
3676+ pxa_set_cken(CKEN_KEYPAD, 1);
3677 }
3678
3679 mutex_unlock(&input_dev->mutex);
3680Index: linux-2.6.22/drivers/leds/Kconfig 3557Index: linux-2.6.22/drivers/leds/Kconfig
3681=================================================================== 3558===================================================================
3682--- linux-2.6.22.orig/drivers/leds/Kconfig 2007-07-09 01:32:17.000000000 +0200 3559--- linux-2.6.22.orig/drivers/leds/Kconfig 2007-08-29 12:44:30.000000000 +0200
3683+++ linux-2.6.22/drivers/leds/Kconfig 2007-08-23 13:09:22.000000000 +0200 3560+++ linux-2.6.22/drivers/leds/Kconfig 2007-08-29 12:44:49.000000000 +0200
3684@@ -95,6 +95,13 @@ 3561@@ -101,6 +101,13 @@
3685 help 3562 outputs. To be useful the particular board must have LEDs
3686 This option enables support for the front LED on Cobalt Server 3563 and they must be connected to the GPIO lines.
3687 3564
3688+config LEDS_ASIC3 3565+config LEDS_ASIC3
3689+ tristate "LED Support for the HTC ASIC3 chip" 3566+ tristate "LED Support for the HTC ASIC3 chip"
@@ -3695,22 +3572,10 @@ Index: linux-2.6.22/drivers/leds/Kconfig
3695 comment "LED Triggers" 3572 comment "LED Triggers"
3696 3573
3697 config LEDS_TRIGGERS 3574 config LEDS_TRIGGERS
3698Index: linux-2.6.22/drivers/leds/Makefile
3699===================================================================
3700--- linux-2.6.22.orig/drivers/leds/Makefile 2007-07-09 01:32:17.000000000 +0200
3701+++ linux-2.6.22/drivers/leds/Makefile 2007-08-23 13:09:22.000000000 +0200
3702@@ -16,6 +16,7 @@
3703 obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o
3704 obj-$(CONFIG_LEDS_H1940) += leds-h1940.o
3705 obj-$(CONFIG_LEDS_COBALT) += leds-cobalt.o
3706+obj-$(CONFIG_LEDS_ASIC3) += leds-asic3.o
3707
3708 # LED Triggers
3709 obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
3710Index: linux-2.6.22/drivers/leds/leds-asic3.c 3575Index: linux-2.6.22/drivers/leds/leds-asic3.c
3711=================================================================== 3576===================================================================
3712--- /dev/null 1970-01-01 00:00:00.000000000 +0000 3577--- /dev/null 1970-01-01 00:00:00.000000000 +0000
3713+++ linux-2.6.22/drivers/leds/leds-asic3.c 2007-08-23 13:09:22.000000000 +0200 3578+++ linux-2.6.22/drivers/leds/leds-asic3.c 2007-08-29 12:44:49.000000000 +0200
3714@@ -0,0 +1,189 @@ 3579@@ -0,0 +1,189 @@
3715+/* 3580+/*
3716+ * LEDs support for HTC ASIC3 devices. 3581+ * LEDs support for HTC ASIC3 devices.
@@ -3903,8 +3768,8 @@ Index: linux-2.6.22/drivers/leds/leds-asic3.c
3903+MODULE_LICENSE("GPL"); 3768+MODULE_LICENSE("GPL");
3904Index: linux-2.6.22/drivers/mfd/Kconfig 3769Index: linux-2.6.22/drivers/mfd/Kconfig
3905=================================================================== 3770===================================================================
3906--- linux-2.6.22.orig/drivers/mfd/Kconfig 2007-08-23 13:09:19.000000000 +0200 3771--- linux-2.6.22.orig/drivers/mfd/Kconfig 2007-08-29 12:44:44.000000000 +0200
3907+++ linux-2.6.22/drivers/mfd/Kconfig 2007-08-23 13:09:22.000000000 +0200 3772+++ linux-2.6.22/drivers/mfd/Kconfig 2007-08-29 12:44:49.000000000 +0200
3908@@ -15,6 +15,16 @@ 3773@@ -15,6 +15,16 @@
3909 interface. The device may be connected by PCI or local bus with 3774 interface. The device may be connected by PCI or local bus with
3910 varying functions enabled. 3775 varying functions enabled.
@@ -3924,8 +3789,8 @@ Index: linux-2.6.22/drivers/mfd/Kconfig
3924 menu "Multimedia Capabilities Port drivers" 3789 menu "Multimedia Capabilities Port drivers"
3925Index: linux-2.6.22/drivers/mfd/Makefile 3790Index: linux-2.6.22/drivers/mfd/Makefile
3926=================================================================== 3791===================================================================
3927--- linux-2.6.22.orig/drivers/mfd/Makefile 2007-08-23 13:09:19.000000000 +0200 3792--- linux-2.6.22.orig/drivers/mfd/Makefile 2007-08-29 12:44:44.000000000 +0200
3928+++ linux-2.6.22/drivers/mfd/Makefile 2007-08-23 13:09:22.000000000 +0200 3793+++ linux-2.6.22/drivers/mfd/Makefile 2007-08-29 12:44:49.000000000 +0200
3929@@ -2,6 +2,8 @@ 3794@@ -2,6 +2,8 @@
3930 # Makefile for multifunction miscellaneous devices 3795 # Makefile for multifunction miscellaneous devices
3931 # 3796 #
@@ -3938,7 +3803,7 @@ Index: linux-2.6.22/drivers/mfd/Makefile
3938Index: linux-2.6.22/drivers/mfd/asic3_base.c 3803Index: linux-2.6.22/drivers/mfd/asic3_base.c
3939=================================================================== 3804===================================================================
3940--- /dev/null 1970-01-01 00:00:00.000000000 +0000 3805--- /dev/null 1970-01-01 00:00:00.000000000 +0000
3941+++ linux-2.6.22/drivers/mfd/asic3_base.c 2007-08-23 13:09:22.000000000 +0200 3806+++ linux-2.6.22/drivers/mfd/asic3_base.c 2007-08-29 12:44:49.000000000 +0200
3942@@ -0,0 +1,1208 @@ 3807@@ -0,0 +1,1208 @@
3943+/* 3808+/*
3944+ * Driver interface to HTC "ASIC3" 3809+ * Driver interface to HTC "ASIC3"
@@ -5151,7 +5016,7 @@ Index: linux-2.6.22/drivers/mfd/asic3_base.c
5151Index: linux-2.6.22/drivers/mfd/soc-core.c 5016Index: linux-2.6.22/drivers/mfd/soc-core.c
5152=================================================================== 5017===================================================================
5153--- /dev/null 1970-01-01 00:00:00.000000000 +0000 5018--- /dev/null 1970-01-01 00:00:00.000000000 +0000
5154+++ linux-2.6.22/drivers/mfd/soc-core.c 2007-08-23 13:09:22.000000000 +0200 5019+++ linux-2.6.22/drivers/mfd/soc-core.c 2007-08-29 12:44:49.000000000 +0200
5155@@ -0,0 +1,106 @@ 5020@@ -0,0 +1,106 @@
5156+/* 5021+/*
5157+ * drivers/soc/soc-core.c 5022+ * drivers/soc/soc-core.c
@@ -5262,7 +5127,7 @@ Index: linux-2.6.22/drivers/mfd/soc-core.c
5262Index: linux-2.6.22/drivers/mfd/soc-core.h 5127Index: linux-2.6.22/drivers/mfd/soc-core.h
5263=================================================================== 5128===================================================================
5264--- /dev/null 1970-01-01 00:00:00.000000000 +0000 5129--- /dev/null 1970-01-01 00:00:00.000000000 +0000
5265+++ linux-2.6.22/drivers/mfd/soc-core.h 2007-08-23 13:09:22.000000000 +0200 5130+++ linux-2.6.22/drivers/mfd/soc-core.h 2007-08-29 12:44:49.000000000 +0200
5266@@ -0,0 +1,30 @@ 5131@@ -0,0 +1,30 @@
5267+/* 5132+/*
5268+ * drivers/soc/soc-core.h 5133+ * drivers/soc/soc-core.h
@@ -5297,7 +5162,7 @@ Index: linux-2.6.22/drivers/mfd/soc-core.h
5297Index: linux-2.6.22/include/asm-arm/arch-pxa/clock.h 5162Index: linux-2.6.22/include/asm-arm/arch-pxa/clock.h
5298=================================================================== 5163===================================================================
5299--- /dev/null 1970-01-01 00:00:00.000000000 +0000 5164--- /dev/null 1970-01-01 00:00:00.000000000 +0000
5300+++ linux-2.6.22/include/asm-arm/arch-pxa/clock.h 2007-08-23 13:09:22.000000000 +0200 5165+++ linux-2.6.22/include/asm-arm/arch-pxa/clock.h 2007-08-29 12:44:49.000000000 +0200
5301@@ -0,0 +1,27 @@ 5166@@ -0,0 +1,27 @@
5302+/* 5167+/*
5303+ * linux/include/asm-arm/arch-pxa/clock.h 5168+ * linux/include/asm-arm/arch-pxa/clock.h
@@ -5329,7 +5194,7 @@ Index: linux-2.6.22/include/asm-arm/arch-pxa/clock.h
5329Index: linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal-asic.h 5194Index: linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal-asic.h
5330=================================================================== 5195===================================================================
5331--- /dev/null 1970-01-01 00:00:00.000000000 +0000 5196--- /dev/null 1970-01-01 00:00:00.000000000 +0000
5332+++ linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal-asic.h 2007-08-23 13:09:22.000000000 +0200 5197+++ linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal-asic.h 2007-08-29 12:44:49.000000000 +0200
5333@@ -0,0 +1,213 @@ 5198@@ -0,0 +1,213 @@
5334+/* 5199+/*
5335+ * include/asm/arm/arch-pxa/htcuniversal-asic.h 5200+ * include/asm/arm/arch-pxa/htcuniversal-asic.h
@@ -5547,7 +5412,7 @@ Index: linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal-asic.h
5547Index: linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal-gpio.h 5412Index: linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal-gpio.h
5548=================================================================== 5413===================================================================
5549--- /dev/null 1970-01-01 00:00:00.000000000 +0000 5414--- /dev/null 1970-01-01 00:00:00.000000000 +0000
5550+++ linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal-gpio.h 2007-08-23 13:09:22.000000000 +0200 5415+++ linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal-gpio.h 2007-08-29 12:44:49.000000000 +0200
5551@@ -0,0 +1,220 @@ 5416@@ -0,0 +1,220 @@
5552+/* 5417+/*
5553+ * include/asm-arm/arch-pxa/htcuniversal-gpio.h 5418+ * include/asm-arm/arch-pxa/htcuniversal-gpio.h
@@ -5772,7 +5637,7 @@ Index: linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal-gpio.h
5772Index: linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal-init.h 5637Index: linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal-init.h
5773=================================================================== 5638===================================================================
5774--- /dev/null 1970-01-01 00:00:00.000000000 +0000 5639--- /dev/null 1970-01-01 00:00:00.000000000 +0000
5775+++ linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal-init.h 2007-08-23 13:09:22.000000000 +0200 5640+++ linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal-init.h 2007-08-29 12:44:49.000000000 +0200
5776@@ -0,0 +1,14 @@ 5641@@ -0,0 +1,14 @@
5777+/* 5642+/*
5778+ * include/asm/arm/arch-pxa/htcuniversal-init.h 5643+ * include/asm/arm/arch-pxa/htcuniversal-init.h
@@ -5791,7 +5656,7 @@ Index: linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal-init.h
5791Index: linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal.h 5656Index: linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal.h
5792=================================================================== 5657===================================================================
5793--- /dev/null 1970-01-01 00:00:00.000000000 +0000 5658--- /dev/null 1970-01-01 00:00:00.000000000 +0000
5794+++ linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal.h 2007-08-23 13:09:22.000000000 +0200 5659+++ linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal.h 2007-08-29 12:44:49.000000000 +0200
5795@@ -0,0 +1,3 @@ 5660@@ -0,0 +1,3 @@
5796+#include <asm/arch/irqs.h> 5661+#include <asm/arch/irqs.h>
5797+ 5662+
@@ -5799,7 +5664,7 @@ Index: linux-2.6.22/include/asm-arm/arch-pxa/htcuniversal.h
5799Index: linux-2.6.22/include/asm-arm/arch-pxa/pxa-pm_ll.h 5664Index: linux-2.6.22/include/asm-arm/arch-pxa/pxa-pm_ll.h
5800=================================================================== 5665===================================================================
5801--- /dev/null 1970-01-01 00:00:00.000000000 +0000 5666--- /dev/null 1970-01-01 00:00:00.000000000 +0000
5802+++ linux-2.6.22/include/asm-arm/arch-pxa/pxa-pm_ll.h 2007-08-23 13:09:22.000000000 +0200 5667+++ linux-2.6.22/include/asm-arm/arch-pxa/pxa-pm_ll.h 2007-08-29 12:44:49.000000000 +0200
5803@@ -0,0 +1,6 @@ 5668@@ -0,0 +1,6 @@
5804+struct pxa_ll_pm_ops { 5669+struct pxa_ll_pm_ops {
5805+ void (*suspend)(unsigned long); 5670+ void (*suspend)(unsigned long);
@@ -5810,7 +5675,7 @@ Index: linux-2.6.22/include/asm-arm/arch-pxa/pxa-pm_ll.h
5810Index: linux-2.6.22/include/asm-arm/arch-pxa/sharpsl.h 5675Index: linux-2.6.22/include/asm-arm/arch-pxa/sharpsl.h
5811=================================================================== 5676===================================================================
5812--- linux-2.6.22.orig/include/asm-arm/arch-pxa/sharpsl.h 2007-07-09 01:32:17.000000000 +0200 5677--- linux-2.6.22.orig/include/asm-arm/arch-pxa/sharpsl.h 2007-07-09 01:32:17.000000000 +0200
5813+++ linux-2.6.22/include/asm-arm/arch-pxa/sharpsl.h 2007-08-23 13:09:22.000000000 +0200 5678+++ linux-2.6.22/include/asm-arm/arch-pxa/sharpsl.h 2007-08-29 12:44:49.000000000 +0200
5814@@ -25,12 +25,6 @@ 5679@@ -25,12 +25,6 @@
5815 /* 5680 /*
5816 * SharpSL Backlight 5681 * SharpSL Backlight
@@ -5827,7 +5692,7 @@ Index: linux-2.6.22/include/asm-arm/arch-pxa/sharpsl.h
5827Index: linux-2.6.22/include/asm-arm/hardware/asic3_keys.h 5692Index: linux-2.6.22/include/asm-arm/hardware/asic3_keys.h
5828=================================================================== 5693===================================================================
5829--- /dev/null 1970-01-01 00:00:00.000000000 +0000 5694--- /dev/null 1970-01-01 00:00:00.000000000 +0000
5830+++ linux-2.6.22/include/asm-arm/hardware/asic3_keys.h 2007-08-23 13:09:22.000000000 +0200 5695+++ linux-2.6.22/include/asm-arm/hardware/asic3_keys.h 2007-08-29 12:44:49.000000000 +0200
5831@@ -0,0 +1,18 @@ 5696@@ -0,0 +1,18 @@
5832+#include <linux/input.h> 5697+#include <linux/input.h>
5833+ 5698+
@@ -5850,7 +5715,7 @@ Index: linux-2.6.22/include/asm-arm/hardware/asic3_keys.h
5850Index: linux-2.6.22/include/asm-arm/hardware/asic3_leds.h 5715Index: linux-2.6.22/include/asm-arm/hardware/asic3_leds.h
5851=================================================================== 5716===================================================================
5852--- /dev/null 1970-01-01 00:00:00.000000000 +0000 5717--- /dev/null 1970-01-01 00:00:00.000000000 +0000
5853+++ linux-2.6.22/include/asm-arm/hardware/asic3_leds.h 2007-08-23 13:09:22.000000000 +0200 5718+++ linux-2.6.22/include/asm-arm/hardware/asic3_leds.h 2007-08-29 12:44:49.000000000 +0200
5854@@ -0,0 +1,34 @@ 5719@@ -0,0 +1,34 @@
5855+/* 5720+/*
5856+ * LEDs support for HTC ASIC3 devices. 5721+ * LEDs support for HTC ASIC3 devices.
@@ -5889,7 +5754,7 @@ Index: linux-2.6.22/include/asm-arm/hardware/asic3_leds.h
5889Index: linux-2.6.22/include/asm-arm/hardware/ipaq-asic3.h 5754Index: linux-2.6.22/include/asm-arm/hardware/ipaq-asic3.h
5890=================================================================== 5755===================================================================
5891--- /dev/null 1970-01-01 00:00:00.000000000 +0000 5756--- /dev/null 1970-01-01 00:00:00.000000000 +0000
5892+++ linux-2.6.22/include/asm-arm/hardware/ipaq-asic3.h 2007-08-23 13:09:22.000000000 +0200 5757+++ linux-2.6.22/include/asm-arm/hardware/ipaq-asic3.h 2007-08-29 12:44:49.000000000 +0200
5893@@ -0,0 +1,602 @@ 5758@@ -0,0 +1,602 @@
5894+/* 5759+/*
5895+ * 5760+ *
@@ -6495,11 +6360,11 @@ Index: linux-2.6.22/include/asm-arm/hardware/ipaq-asic3.h
6495+#endif 6360+#endif
6496Index: linux-2.6.22/include/linux/backlight.h 6361Index: linux-2.6.22/include/linux/backlight.h
6497=================================================================== 6362===================================================================
6498--- linux-2.6.22.orig/include/linux/backlight.h 2007-07-09 01:32:17.000000000 +0200 6363--- linux-2.6.22.orig/include/linux/backlight.h 2007-08-29 12:44:39.000000000 +0200
6499+++ linux-2.6.22/include/linux/backlight.h 2007-08-23 13:09:22.000000000 +0200 6364+++ linux-2.6.22/include/linux/backlight.h 2007-08-29 12:44:49.000000000 +0200
6500@@ -87,4 +87,11 @@ 6365@@ -92,4 +92,11 @@
6501 6366 return dev_get_drvdata(&bl_dev->dev);
6502 #define to_backlight_device(obj) container_of(obj, struct backlight_device, class_dev) 6367 }
6503 6368
6504+struct generic_bl_info { 6369+struct generic_bl_info {
6505+ int max_intensity; 6370+ int max_intensity;
@@ -6512,7 +6377,7 @@ Index: linux-2.6.22/include/linux/backlight.h
6512Index: linux-2.6.22/include/linux/gpiodev.h 6377Index: linux-2.6.22/include/linux/gpiodev.h
6513=================================================================== 6378===================================================================
6514--- /dev/null 1970-01-01 00:00:00.000000000 +0000 6379--- /dev/null 1970-01-01 00:00:00.000000000 +0000
6515+++ linux-2.6.22/include/linux/gpiodev.h 2007-08-23 13:09:22.000000000 +0200 6380+++ linux-2.6.22/include/linux/gpiodev.h 2007-08-29 12:44:49.000000000 +0200
6516@@ -0,0 +1,44 @@ 6381@@ -0,0 +1,44 @@
6517+#ifndef __GPIODEV_H 6382+#ifndef __GPIODEV_H
6518+#define __GPIODEV_H 6383+#define __GPIODEV_H
@@ -6561,7 +6426,7 @@ Index: linux-2.6.22/include/linux/gpiodev.h
6561Index: linux-2.6.22/include/linux/input_pda.h 6426Index: linux-2.6.22/include/linux/input_pda.h
6562=================================================================== 6427===================================================================
6563--- /dev/null 1970-01-01 00:00:00.000000000 +0000 6428--- /dev/null 1970-01-01 00:00:00.000000000 +0000
6564+++ linux-2.6.22/include/linux/input_pda.h 2007-08-23 13:09:22.000000000 +0200 6429+++ linux-2.6.22/include/linux/input_pda.h 2007-08-29 12:44:49.000000000 +0200
6565@@ -0,0 +1,47 @@ 6430@@ -0,0 +1,47 @@
6566+#ifndef _INPUT_PDA_H 6431+#ifndef _INPUT_PDA_H
6567+#define _INPUT_PDA_H 6432+#define _INPUT_PDA_H
@@ -6610,46 +6475,10 @@ Index: linux-2.6.22/include/linux/input_pda.h
6610+#define _KEY_HOMEPAGE _KEY_APP4 6475+#define _KEY_HOMEPAGE _KEY_APP4
6611+ 6476+
6612+#endif 6477+#endif
6613Index: linux-2.6.22/include/linux/pda_power.h
6614===================================================================
6615--- /dev/null 1970-01-01 00:00:00.000000000 +0000
6616+++ linux-2.6.22/include/linux/pda_power.h 2007-08-23 13:09:22.000000000 +0200
6617@@ -0,0 +1,31 @@
6618+/*
6619+ * Common power driver for PDAs and phones with one or two external
6620+ * power supplies (AC/USB) connected to main and backup batteries,
6621+ * and optional builtin charger.
6622+ *
6623+ * Copyright 2007 Anton Vorontsov <cbou@mail.ru>
6624+ *
6625+ * This program is free software; you can redistribute it and/or modify
6626+ * it under the terms of the GNU General Public License version 2 as
6627+ * published by the Free Software Foundation.
6628+ */
6629+
6630+#ifndef __PDA_POWER_H__
6631+#define __PDA_POWER_H__
6632+
6633+#define PDA_POWER_CHARGE_AC (1 << 0)
6634+#define PDA_POWER_CHARGE_USB (1 << 1)
6635+
6636+struct pda_power_pdata {
6637+ int (*is_ac_online)(void);
6638+ int (*is_usb_online)(void);
6639+ void (*set_charge)(int flags);
6640+
6641+ char **supplied_to;
6642+ size_t num_supplicants;
6643+
6644+ unsigned int wait_for_status; /* msecs, default is 500 */
6645+ unsigned int wait_for_charger; /* msecs, default is 500 */
6646+};
6647+
6648+#endif /* __PDA_POWER_H__ */
6649Index: linux-2.6.22/include/linux/soc/asic3_base.h 6478Index: linux-2.6.22/include/linux/soc/asic3_base.h
6650=================================================================== 6479===================================================================
6651--- /dev/null 1970-01-01 00:00:00.000000000 +0000 6480--- /dev/null 1970-01-01 00:00:00.000000000 +0000
6652+++ linux-2.6.22/include/linux/soc/asic3_base.h 2007-08-23 13:09:22.000000000 +0200 6481+++ linux-2.6.22/include/linux/soc/asic3_base.h 2007-08-29 12:44:49.000000000 +0200
6653@@ -0,0 +1,104 @@ 6482@@ -0,0 +1,104 @@
6654+#include <asm/types.h> 6483+#include <asm/types.h>
6655+#include <linux/gpiodev.h> 6484+#include <linux/gpiodev.h>
@@ -6758,7 +6587,7 @@ Index: linux-2.6.22/include/linux/soc/asic3_base.h
6758Index: linux-2.6.22/include/linux/soc/tmio_mmc.h 6587Index: linux-2.6.22/include/linux/soc/tmio_mmc.h
6759=================================================================== 6588===================================================================
6760--- /dev/null 1970-01-01 00:00:00.000000000 +0000 6589--- /dev/null 1970-01-01 00:00:00.000000000 +0000
6761+++ linux-2.6.22/include/linux/soc/tmio_mmc.h 2007-08-23 13:09:22.000000000 +0200 6590+++ linux-2.6.22/include/linux/soc/tmio_mmc.h 2007-08-29 12:44:49.000000000 +0200
6762@@ -0,0 +1,17 @@ 6591@@ -0,0 +1,17 @@
6763+#include <linux/platform_device.h> 6592+#include <linux/platform_device.h>
6764+ 6593+
@@ -6779,9 +6608,9 @@ Index: linux-2.6.22/include/linux/soc/tmio_mmc.h
6779+}; 6608+};
6780Index: linux-2.6.22/include/asm-arm/arch-pxa/pxa-regs.h 6609Index: linux-2.6.22/include/asm-arm/arch-pxa/pxa-regs.h
6781=================================================================== 6610===================================================================
6782--- linux-2.6.22.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-08-23 13:09:21.000000000 +0200 6611--- linux-2.6.22.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-08-29 12:44:47.000000000 +0200
6783+++ linux-2.6.22/include/asm-arm/arch-pxa/pxa-regs.h 2007-08-23 13:09:22.000000000 +0200 6612+++ linux-2.6.22/include/asm-arm/arch-pxa/pxa-regs.h 2007-08-29 12:44:49.000000000 +0200
6784@@ -2063,6 +2063,8 @@ 6613@@ -2043,6 +2043,8 @@
6785 #define LDCMD_SOFINT (1 << 22) 6614 #define LDCMD_SOFINT (1 << 22)
6786 #define LDCMD_EOFINT (1 << 21) 6615 #define LDCMD_EOFINT (1 << 21)
6787 6616
@@ -6793,7 +6622,7 @@ Index: linux-2.6.22/include/asm-arm/arch-pxa/pxa-regs.h
6793Index: linux-2.6.22/drivers/mmc/host/Kconfig 6622Index: linux-2.6.22/drivers/mmc/host/Kconfig
6794=================================================================== 6623===================================================================
6795--- linux-2.6.22.orig/drivers/mmc/host/Kconfig 2007-07-09 01:32:17.000000000 +0200 6624--- linux-2.6.22.orig/drivers/mmc/host/Kconfig 2007-07-09 01:32:17.000000000 +0200
6796+++ linux-2.6.22/drivers/mmc/host/Kconfig 2007-08-23 13:09:22.000000000 +0200 6625+++ linux-2.6.22/drivers/mmc/host/Kconfig 2007-08-29 12:44:49.000000000 +0200
6797@@ -100,3 +100,9 @@ 6626@@ -100,3 +100,9 @@
6798 To compile this driver as a module, choose M here: the 6627 To compile this driver as a module, choose M here: the
6799 module will be called tifm_sd. 6628 module will be called tifm_sd.
@@ -6807,7 +6636,7 @@ Index: linux-2.6.22/drivers/mmc/host/Kconfig
6807Index: linux-2.6.22/drivers/mmc/host/Makefile 6636Index: linux-2.6.22/drivers/mmc/host/Makefile
6808=================================================================== 6637===================================================================
6809--- linux-2.6.22.orig/drivers/mmc/host/Makefile 2007-07-09 01:32:17.000000000 +0200 6638--- linux-2.6.22.orig/drivers/mmc/host/Makefile 2007-07-09 01:32:17.000000000 +0200
6810+++ linux-2.6.22/drivers/mmc/host/Makefile 2007-08-23 13:09:22.000000000 +0200 6639+++ linux-2.6.22/drivers/mmc/host/Makefile 2007-08-29 12:44:49.000000000 +0200
6811@@ -15,4 +15,4 @@ 6640@@ -15,4 +15,4 @@
6812 obj-$(CONFIG_MMC_OMAP) += omap.o 6641 obj-$(CONFIG_MMC_OMAP) += omap.o
6813 obj-$(CONFIG_MMC_AT91) += at91_mci.o 6642 obj-$(CONFIG_MMC_AT91) += at91_mci.o
@@ -6817,7 +6646,7 @@ Index: linux-2.6.22/drivers/mmc/host/Makefile
6817Index: linux-2.6.22/drivers/mmc/host/asic3_mmc.c 6646Index: linux-2.6.22/drivers/mmc/host/asic3_mmc.c
6818=================================================================== 6647===================================================================
6819--- /dev/null 1970-01-01 00:00:00.000000000 +0000 6648--- /dev/null 1970-01-01 00:00:00.000000000 +0000
6820+++ linux-2.6.22/drivers/mmc/host/asic3_mmc.c 2007-08-23 13:09:22.000000000 +0200 6649+++ linux-2.6.22/drivers/mmc/host/asic3_mmc.c 2007-08-29 14:36:15.000000000 +0200
6821@@ -0,0 +1,900 @@ 6650@@ -0,0 +1,900 @@
6822+/* Note that this driver can likely be merged into the tmio driver, so 6651+/* Note that this driver can likely be merged into the tmio driver, so
6823+ * consider this code temporary. It works, though. 6652+ * consider this code temporary. It works, though.
@@ -7054,7 +6883,7 @@ Index: linux-2.6.22/drivers/mmc/host/asic3_mmc.c
7054+ buf++; 6883+ buf++;
7055+ count -= 2; 6884+ count -= 2;
7056+ } 6885+ }
7057+ flush_dcache_page(host->sg_ptr->page); 6886+ //flush_dcache_page(host->sg_ptr->page);
7058+ } else { 6887+ } else {
7059+ while(count > 0) { 6888+ while(count > 0) {
7060+ /* Write two bytes to SD/MMC controller. */ 6889+ /* Write two bytes to SD/MMC controller. */
@@ -7722,7 +7551,7 @@ Index: linux-2.6.22/drivers/mmc/host/asic3_mmc.c
7722Index: linux-2.6.22/drivers/mmc/host/asic3_mmc.h 7551Index: linux-2.6.22/drivers/mmc/host/asic3_mmc.h
7723=================================================================== 7552===================================================================
7724--- /dev/null 1970-01-01 00:00:00.000000000 +0000 7553--- /dev/null 1970-01-01 00:00:00.000000000 +0000
7725+++ linux-2.6.22/drivers/mmc/host/asic3_mmc.h 2007-08-23 13:09:22.000000000 +0200 7554+++ linux-2.6.22/drivers/mmc/host/asic3_mmc.h 2007-08-29 12:44:49.000000000 +0200
7726@@ -0,0 +1,25 @@ 7555@@ -0,0 +1,25 @@
7727+#ifndef __ASIC3_MMC_H 7556+#ifndef __ASIC3_MMC_H
7728+#define __ASIC3_MMC_H 7557+#define __ASIC3_MMC_H
@@ -7752,7 +7581,7 @@ Index: linux-2.6.22/drivers/mmc/host/asic3_mmc.h
7752Index: linux-2.6.22/drivers/input/keyboard/Makefile 7581Index: linux-2.6.22/drivers/input/keyboard/Makefile
7753=================================================================== 7582===================================================================
7754--- linux-2.6.22.orig/drivers/input/keyboard/Makefile 2007-07-09 01:32:17.000000000 +0200 7583--- linux-2.6.22.orig/drivers/input/keyboard/Makefile 2007-07-09 01:32:17.000000000 +0200
7755+++ linux-2.6.22/drivers/input/keyboard/Makefile 2007-08-23 13:09:22.000000000 +0200 7584+++ linux-2.6.22/drivers/input/keyboard/Makefile 2007-08-29 12:44:49.000000000 +0200
7756@@ -21,4 +21,4 @@ 7585@@ -21,4 +21,4 @@
7757 obj-$(CONFIG_KEYBOARD_PXA27x) += pxa27x_keyboard.o 7586 obj-$(CONFIG_KEYBOARD_PXA27x) += pxa27x_keyboard.o
7758 obj-$(CONFIG_KEYBOARD_AAED2000) += aaed2000_kbd.o 7587 obj-$(CONFIG_KEYBOARD_AAED2000) += aaed2000_kbd.o
@@ -7762,7 +7591,7 @@ Index: linux-2.6.22/drivers/input/keyboard/Makefile
7762Index: linux-2.6.22/drivers/input/keyboard/asic3_keys.c 7591Index: linux-2.6.22/drivers/input/keyboard/asic3_keys.c
7763=================================================================== 7592===================================================================
7764--- /dev/null 1970-01-01 00:00:00.000000000 +0000 7593--- /dev/null 1970-01-01 00:00:00.000000000 +0000
7765+++ linux-2.6.22/drivers/input/keyboard/asic3_keys.c 2007-08-23 13:09:22.000000000 +0200 7594+++ linux-2.6.22/drivers/input/keyboard/asic3_keys.c 2007-08-29 12:44:49.000000000 +0200
7766@@ -0,0 +1,131 @@ 7595@@ -0,0 +1,131 @@
7767+/* 7596+/*
7768+ * Generic buttons driver for ASIC3 SoC. 7597+ * Generic buttons driver for ASIC3 SoC.
@@ -7897,9 +7726,9 @@ Index: linux-2.6.22/drivers/input/keyboard/asic3_keys.c
7897+MODULE_LICENSE("GPL"); 7726+MODULE_LICENSE("GPL");
7898Index: linux-2.6.22/include/asm-arm/arch-pxa/irqs.h 7727Index: linux-2.6.22/include/asm-arm/arch-pxa/irqs.h
7899=================================================================== 7728===================================================================
7900--- linux-2.6.22.orig/include/asm-arm/arch-pxa/irqs.h 2007-07-09 01:32:17.000000000 +0200 7729--- linux-2.6.22.orig/include/asm-arm/arch-pxa/irqs.h 2007-08-29 12:44:38.000000000 +0200
7901+++ linux-2.6.22/include/asm-arm/arch-pxa/irqs.h 2007-08-23 13:09:22.000000000 +0200 7730+++ linux-2.6.22/include/asm-arm/arch-pxa/irqs.h 2007-08-29 12:44:49.000000000 +0200
7902@@ -178,6 +178,8 @@ 7731@@ -172,6 +172,8 @@
7903 defined(CONFIG_MACH_LOGICPD_PXA270) || \ 7732 defined(CONFIG_MACH_LOGICPD_PXA270) || \
7904 defined(CONFIG_MACH_MAINSTONE) 7733 defined(CONFIG_MACH_MAINSTONE)
7905 #define NR_IRQS (IRQ_BOARD_END) 7734 #define NR_IRQS (IRQ_BOARD_END)
@@ -7911,7 +7740,7 @@ Index: linux-2.6.22/include/asm-arm/arch-pxa/irqs.h
7911Index: linux-2.6.22/include/linux/ioport.h 7740Index: linux-2.6.22/include/linux/ioport.h
7912=================================================================== 7741===================================================================
7913--- linux-2.6.22.orig/include/linux/ioport.h 2007-07-09 01:32:17.000000000 +0200 7742--- linux-2.6.22.orig/include/linux/ioport.h 2007-07-09 01:32:17.000000000 +0200
7914+++ linux-2.6.22/include/linux/ioport.h 2007-08-23 13:09:22.000000000 +0200 7743+++ linux-2.6.22/include/linux/ioport.h 2007-08-29 12:44:49.000000000 +0200
7915@@ -56,6 +56,7 @@ 7744@@ -56,6 +56,7 @@
7916 #define IORESOURCE_IRQ_HIGHLEVEL (1<<2) 7745 #define IORESOURCE_IRQ_HIGHLEVEL (1<<2)
7917 #define IORESOURCE_IRQ_LOWLEVEL (1<<3) 7746 #define IORESOURCE_IRQ_LOWLEVEL (1<<3)
@@ -7922,9 +7751,9 @@ Index: linux-2.6.22/include/linux/ioport.h
7922 #define IORESOURCE_DMA_TYPE_MASK (3<<0) 7751 #define IORESOURCE_DMA_TYPE_MASK (3<<0)
7923Index: linux-2.6.22/drivers/video/backlight/Kconfig 7752Index: linux-2.6.22/drivers/video/backlight/Kconfig
7924=================================================================== 7753===================================================================
7925--- linux-2.6.22.orig/drivers/video/backlight/Kconfig 2007-08-23 13:09:19.000000000 +0200 7754--- linux-2.6.22.orig/drivers/video/backlight/Kconfig 2007-08-29 12:44:43.000000000 +0200
7926+++ linux-2.6.22/drivers/video/backlight/Kconfig 2007-08-23 13:09:22.000000000 +0200 7755+++ linux-2.6.22/drivers/video/backlight/Kconfig 2007-08-29 12:44:49.000000000 +0200
7927@@ -34,7 +34,7 @@ 7756@@ -40,7 +40,7 @@
7928 7757
7929 config BACKLIGHT_CORGI 7758 config BACKLIGHT_CORGI
7930 tristate "Sharp Corgi Backlight Driver (SL Series)" 7759 tristate "Sharp Corgi Backlight Driver (SL Series)"
@@ -7936,7 +7765,7 @@ Index: linux-2.6.22/drivers/video/backlight/Kconfig
7936Index: linux-2.6.22/drivers/video/backlight/corgi_bl.c 7765Index: linux-2.6.22/drivers/video/backlight/corgi_bl.c
7937=================================================================== 7766===================================================================
7938--- linux-2.6.22.orig/drivers/video/backlight/corgi_bl.c 2007-07-09 01:32:17.000000000 +0200 7767--- linux-2.6.22.orig/drivers/video/backlight/corgi_bl.c 2007-07-09 01:32:17.000000000 +0200
7939+++ linux-2.6.22/drivers/video/backlight/corgi_bl.c 2007-08-23 13:09:22.000000000 +0200 7768+++ linux-2.6.22/drivers/video/backlight/corgi_bl.c 2007-08-29 12:44:49.000000000 +0200
7940@@ -24,7 +24,7 @@ 7769@@ -24,7 +24,7 @@
7941 static int corgibl_intensity; 7770 static int corgibl_intensity;
7942 static struct backlight_properties corgibl_data; 7771 static struct backlight_properties corgibl_data;
@@ -7957,8 +7786,8 @@ Index: linux-2.6.22/drivers/video/backlight/corgi_bl.c
7957 if (!machinfo->limit_mask) 7786 if (!machinfo->limit_mask)
7958Index: linux-2.6.22/arch/arm/mach-pxa/corgi.c 7787Index: linux-2.6.22/arch/arm/mach-pxa/corgi.c
7959=================================================================== 7788===================================================================
7960--- linux-2.6.22.orig/arch/arm/mach-pxa/corgi.c 2007-08-23 13:09:20.000000000 +0200 7789--- linux-2.6.22.orig/arch/arm/mach-pxa/corgi.c 2007-08-29 12:44:45.000000000 +0200
7961+++ linux-2.6.22/arch/arm/mach-pxa/corgi.c 2007-08-23 13:09:22.000000000 +0200 7790+++ linux-2.6.22/arch/arm/mach-pxa/corgi.c 2007-08-29 12:44:49.000000000 +0200
7962@@ -20,6 +20,7 @@ 7791@@ -20,6 +20,7 @@
7963 #include <linux/interrupt.h> 7792 #include <linux/interrupt.h>
7964 #include <linux/mmc/host.h> 7793 #include <linux/mmc/host.h>
@@ -7967,7 +7796,7 @@ Index: linux-2.6.22/arch/arm/mach-pxa/corgi.c
7967 7796
7968 #include <asm/setup.h> 7797 #include <asm/setup.h>
7969 #include <asm/memory.h> 7798 #include <asm/memory.h>
7970@@ -142,7 +143,7 @@ 7799@@ -143,7 +144,7 @@
7971 /* 7800 /*
7972 * Corgi Backlight Device 7801 * Corgi Backlight Device
7973 */ 7802 */
@@ -7978,9 +7807,9 @@ Index: linux-2.6.22/arch/arm/mach-pxa/corgi.c
7978 .limit_mask = 0x0b, 7807 .limit_mask = 0x0b,
7979Index: linux-2.6.22/arch/arm/mach-pxa/spitz.c 7808Index: linux-2.6.22/arch/arm/mach-pxa/spitz.c
7980=================================================================== 7809===================================================================
7981--- linux-2.6.22.orig/arch/arm/mach-pxa/spitz.c 2007-08-23 13:09:20.000000000 +0200 7810--- linux-2.6.22.orig/arch/arm/mach-pxa/spitz.c 2007-08-29 12:44:46.000000000 +0200
7982+++ linux-2.6.22/arch/arm/mach-pxa/spitz.c 2007-08-23 13:09:22.000000000 +0200 7811+++ linux-2.6.22/arch/arm/mach-pxa/spitz.c 2007-08-29 12:44:49.000000000 +0200
7983@@ -221,7 +221,7 @@ 7812@@ -222,7 +222,7 @@
7984 /* 7813 /*
7985 * Spitz Backlight Device 7814 * Spitz Backlight Device
7986 */ 7815 */
@@ -7989,75 +7818,10 @@ Index: linux-2.6.22/arch/arm/mach-pxa/spitz.c
7989 .default_intensity = 0x1f, 7818 .default_intensity = 0x1f,
7990 .limit_mask = 0x0b, 7819 .limit_mask = 0x0b,
7991 .max_intensity = 0x2f, 7820 .max_intensity = 0x2f,
7992Index: linux-2.6.22/arch/arm/mach-pxa/generic.c
7993===================================================================
7994--- linux-2.6.22.orig/arch/arm/mach-pxa/generic.c 2007-07-09 01:32:17.000000000 +0200
7995+++ linux-2.6.22/arch/arm/mach-pxa/generic.c 2007-08-23 13:09:22.000000000 +0200
7996@@ -345,6 +345,18 @@
7997 .id = 3,
7998 };
7999
8000+void __init pxa_set_ffuart_info(struct platform_pxa_serial_funcs *info)
8001+{
8002+ ffuart_device.dev.platform_data = info;
8003+}
8004+EXPORT_SYMBOL(pxa_set_ffuart_info);
8005+
8006+void __init pxa_set_btuart_info(struct platform_pxa_serial_funcs *info)
8007+{
8008+ btuart_device.dev.platform_data = info;
8009+}
8010+EXPORT_SYMBOL(pxa_set_btuart_info);
8011+
8012 static struct resource i2c_resources[] = {
8013 {
8014 .start = 0x40301680,
8015Index: linux-2.6.22/drivers/w1/slaves/Kconfig
8016===================================================================
8017--- linux-2.6.22.orig/drivers/w1/slaves/Kconfig 2007-07-09 01:32:17.000000000 +0200
8018+++ linux-2.6.22/drivers/w1/slaves/Kconfig 2007-08-23 13:09:22.000000000 +0200
8019@@ -35,4 +35,15 @@
8020 Each block has 30 bytes of data and a two byte CRC16.
8021 Full block writes are only allowed if the CRC is valid.
8022
8023+config W1_SLAVE_DS2760
8024+ tristate "Dallas 2760 battery monitor chip (HP iPAQ & others)"
8025+ depends on W1
8026+ help
8027+ If you enable this you will have the DS2760 battery monitor
8028+ chip support.
8029+ The battery monitor chip is used in many batteries/devices
8030+ as the one who is responsible for charging/discharging/monitoring
8031+ Li+ batteries.
8032+ If you are unsure, say N.
8033+
8034 endmenu
8035Index: linux-2.6.22/drivers/w1/slaves/Makefile
8036===================================================================
8037--- linux-2.6.22.orig/drivers/w1/slaves/Makefile 2007-07-09 01:32:17.000000000 +0200
8038+++ linux-2.6.22/drivers/w1/slaves/Makefile 2007-08-23 13:09:22.000000000 +0200
8039@@ -5,4 +5,4 @@
8040 obj-$(CONFIG_W1_SLAVE_THERM) += w1_therm.o
8041 obj-$(CONFIG_W1_SLAVE_SMEM) += w1_smem.o
8042 obj-$(CONFIG_W1_SLAVE_DS2433) += w1_ds2433.o
8043-
8044+obj-$(CONFIG_W1_SLAVE_DS2760) += w1_ds2760.o
8045Index: linux-2.6.22/drivers/w1/w1_family.h
8046===================================================================
8047--- linux-2.6.22.orig/drivers/w1/w1_family.h 2007-07-09 01:32:17.000000000 +0200
8048+++ linux-2.6.22/drivers/w1/w1_family.h 2007-08-23 13:09:22.000000000 +0200
8049@@ -33,6 +33,7 @@
8050 #define W1_THERM_DS1822 0x22
8051 #define W1_EEPROM_DS2433 0x23
8052 #define W1_THERM_DS18B20 0x28
8053+#define W1_FAMILY_DS2760 0x30
8054
8055 #define MAXNAMELEN 32
8056
8057Index: linux-2.6.22/include/asm-arm/arch-pxa/serial.h 7821Index: linux-2.6.22/include/asm-arm/arch-pxa/serial.h
8058=================================================================== 7822===================================================================
8059--- /dev/null 1970-01-01 00:00:00.000000000 +0000 7823--- /dev/null 1970-01-01 00:00:00.000000000 +0000
8060+++ linux-2.6.22/include/asm-arm/arch-pxa/serial.h 2007-08-23 13:09:22.000000000 +0200 7824+++ linux-2.6.22/include/asm-arm/arch-pxa/serial.h 2007-08-29 12:44:49.000000000 +0200
8061@@ -0,0 +1,78 @@ 7825@@ -0,0 +1,78 @@
8062+/* 7826+/*
8063+ * linux/include/asm-arm/arch-pxa/serial.h 7827+ * linux/include/asm-arm/arch-pxa/serial.h
@@ -8137,283 +7901,10 @@ Index: linux-2.6.22/include/asm-arm/arch-pxa/serial.h
8137+void pxa_set_btuart_info(struct platform_pxa_serial_funcs *btuart_funcs); 7901+void pxa_set_btuart_info(struct platform_pxa_serial_funcs *btuart_funcs);
8138+void pxa_set_stuart_info(struct platform_pxa_serial_funcs *stuart_funcs); 7902+void pxa_set_stuart_info(struct platform_pxa_serial_funcs *stuart_funcs);
8139+void pxa_set_hwuart_info(struct platform_pxa_serial_funcs *hwuart_funcs); 7903+void pxa_set_hwuart_info(struct platform_pxa_serial_funcs *hwuart_funcs);
8140Index: linux-2.6.22/drivers/w1/slaves/w1_ds2760.c
8141===================================================================
8142--- /dev/null 1970-01-01 00:00:00.000000000 +0000
8143+++ linux-2.6.22/drivers/w1/slaves/w1_ds2760.c 2007-08-23 13:09:22.000000000 +0200
8144@@ -0,0 +1,213 @@
8145+/*
8146+ * 1-Wire implementation for the ds2760 chip
8147+ *
8148+ * Copyright (c) 2004-2005, Szabolcs Gyurko <szabolcs.gyurko@tlt.hu>
8149+ *
8150+ * Use consistent with the GNU GPL is permitted,
8151+ * provided that this copyright notice is
8152+ * preserved in its entirety in all copies and derived works.
8153+ *
8154+ */
8155+
8156+#include <linux/kernel.h>
8157+#include <linux/module.h>
8158+#include <linux/device.h>
8159+#include <linux/types.h>
8160+#include <linux/platform_device.h>
8161+#include <linux/mutex.h>
8162+#include <linux/idr.h>
8163+
8164+#include "../w1.h"
8165+#include "../w1_int.h"
8166+#include "../w1_family.h"
8167+#include "w1_ds2760.h"
8168+
8169+static int w1_ds2760_io(struct device *dev, char *buf, int addr, size_t count,
8170+ int io)
8171+{
8172+ struct w1_slave *sl = container_of(dev, struct w1_slave, dev);
8173+
8174+ if (!dev)
8175+ return 0;
8176+
8177+ mutex_lock(&sl->master->mutex);
8178+
8179+ if (addr > DS2760_DATA_SIZE || addr < 0) {
8180+ count = 0;
8181+ goto out;
8182+ }
8183+ if (addr + count > DS2760_DATA_SIZE)
8184+ count = DS2760_DATA_SIZE - addr;
8185+
8186+ if (!w1_reset_select_slave(sl)) {
8187+ if (!io) {
8188+ w1_write_8(sl->master, W1_DS2760_READ_DATA);
8189+ w1_write_8(sl->master, addr);
8190+ count = w1_read_block(sl->master, buf, count);
8191+ } else {
8192+ w1_write_8(sl->master, W1_DS2760_WRITE_DATA);
8193+ w1_write_8(sl->master, addr);
8194+ w1_write_block(sl->master, buf, count);
8195+ /* XXX w1_write_block returns void, not n_written */
8196+ }
8197+ }
8198+
8199+out:
8200+ mutex_unlock(&sl->master->mutex);
8201+
8202+ return count;
8203+}
8204+
8205+int w1_ds2760_read(struct device *dev, char *buf, int addr, size_t count)
8206+{
8207+ return w1_ds2760_io(dev, buf, addr, count, 0);
8208+}
8209+
8210+int w1_ds2760_write(struct device *dev, char *buf, int addr, size_t count)
8211+{
8212+ return w1_ds2760_io(dev, buf, addr, count, 1);
8213+}
8214+
8215+static ssize_t w1_ds2760_read_bin(struct kobject *kobj, char *buf, loff_t off,
8216+ size_t count)
8217+{
8218+ struct device *dev = container_of(kobj, struct device, kobj);
8219+ return w1_ds2760_read(dev, buf, off, count);
8220+}
8221+
8222+static struct bin_attribute w1_ds2760_bin_attr = {
8223+ .attr = {
8224+ .name = "w1_slave",
8225+ .mode = S_IRUGO,
8226+ .owner = THIS_MODULE,
8227+ },
8228+ .size = DS2760_DATA_SIZE,
8229+ .read = w1_ds2760_read_bin,
8230+};
8231+
8232+static DEFINE_IDR(bat_idr);
8233+static DEFINE_MUTEX(bat_idr_lock);
8234+
8235+static int new_bat_id(void)
8236+{
8237+ int ret;
8238+
8239+ while (1) {
8240+ int id;
8241+
8242+ ret = idr_pre_get(&bat_idr, GFP_KERNEL);
8243+ if (ret == 0)
8244+ return -ENOMEM;
8245+
8246+ mutex_lock(&bat_idr_lock);
8247+ ret = idr_get_new(&bat_idr, NULL, &id);
8248+ mutex_unlock(&bat_idr_lock);
8249+
8250+ if (ret == 0) {
8251+ ret = id & MAX_ID_MASK;
8252+ break;
8253+ }
8254+ else if (ret == -EAGAIN)
8255+ continue;
8256+ else
8257+ break;
8258+ }
8259+
8260+ return ret;
8261+}
8262+
8263+static void release_bat_id(int id)
8264+{
8265+ mutex_lock(&bat_idr_lock);
8266+ idr_remove(&bat_idr, id);
8267+ mutex_unlock(&bat_idr_lock);
8268+
8269+ return;
8270+}
8271+
8272+static int w1_ds2760_add_slave(struct w1_slave *sl)
8273+{
8274+ int ret;
8275+ int id;
8276+ struct platform_device *pdev;
8277+
8278+ id = new_bat_id();
8279+ if (id < 0) {
8280+ ret = id;
8281+ goto noid;
8282+ }
8283+
8284+ pdev = platform_device_alloc("ds2760-battery", id);
8285+ if (!pdev) {
8286+ ret = -ENOMEM;
8287+ goto pdev_alloc_failed;
8288+ }
8289+ pdev->dev.parent = &sl->dev;
8290+
8291+ ret = platform_device_add(pdev);
8292+ if (ret)
8293+ goto pdev_add_failed;
8294+
8295+ ret = sysfs_create_bin_file(&sl->dev.kobj, &w1_ds2760_bin_attr);
8296+ if (ret)
8297+ goto bin_attr_failed;
8298+
8299+ dev_set_drvdata(&sl->dev, pdev);
8300+
8301+ goto success;
8302+
8303+bin_attr_failed:
8304+pdev_add_failed:
8305+ platform_device_unregister(pdev);
8306+pdev_alloc_failed:
8307+ release_bat_id(id);
8308+noid:
8309+success:
8310+ return ret;
8311+}
8312+
8313+static void w1_ds2760_remove_slave(struct w1_slave *sl)
8314+{
8315+ struct platform_device *pdev = dev_get_drvdata(&sl->dev);
8316+ int id = pdev->id;
8317+
8318+ platform_device_unregister(pdev);
8319+ release_bat_id(id);
8320+ sysfs_remove_bin_file(&sl->dev.kobj, &w1_ds2760_bin_attr);
8321+
8322+ return;
8323+}
8324+
8325+static struct w1_family_ops w1_ds2760_fops = {
8326+ .add_slave = w1_ds2760_add_slave,
8327+ .remove_slave = w1_ds2760_remove_slave,
8328+};
8329+
8330+static struct w1_family w1_ds2760_family = {
8331+ .fid = W1_FAMILY_DS2760,
8332+ .fops = &w1_ds2760_fops,
8333+};
8334+
8335+static int __init w1_ds2760_init(void)
8336+{
8337+ printk(KERN_INFO "1-Wire driver for the DS2760 battery monitor "
8338+ " chip - (c) 2004-2005, Szabolcs Gyurko\n");
8339+ idr_init(&bat_idr);
8340+ return w1_register_family(&w1_ds2760_family);
8341+}
8342+
8343+static void __exit w1_ds2760_exit(void)
8344+{
8345+ w1_unregister_family(&w1_ds2760_family);
8346+ idr_destroy(&bat_idr);
8347+}
8348+
8349+EXPORT_SYMBOL(w1_ds2760_read);
8350+EXPORT_SYMBOL(w1_ds2760_write);
8351+
8352+module_init(w1_ds2760_init);
8353+module_exit(w1_ds2760_exit);
8354+
8355+MODULE_LICENSE("GPL");
8356+MODULE_AUTHOR("Szabolcs Gyurko <szabolcs.gyurko@tlt.hu>");
8357+MODULE_DESCRIPTION("1-wire Driver Dallas 2760 battery monitor chip");
8358Index: linux-2.6.22/drivers/w1/slaves/w1_ds2760.h
8359===================================================================
8360--- /dev/null 1970-01-01 00:00:00.000000000 +0000
8361+++ linux-2.6.22/drivers/w1/slaves/w1_ds2760.h 2007-08-23 13:09:22.000000000 +0200
8362@@ -0,0 +1,50 @@
8363+/*
8364+ * 1-Wire implementation for the ds2760 chip
8365+ *
8366+ * Copyright (c) 2004-2005, Szabolcs Gyurko <szabolcs.gyurko@tlt.hu>
8367+ *
8368+ * Use consistent with the GNU GPL is permitted,
8369+ * provided that this copyright notice is
8370+ * preserved in its entirety in all copies and derived works.
8371+ *
8372+ */
8373+
8374+#ifndef __w1_ds2760_h__
8375+#define __w1_ds2760_h__
8376+
8377+/* Known commands to the DS2760 chip */
8378+#define W1_DS2760_SWAP 0xAA
8379+#define W1_DS2760_READ_DATA 0x69
8380+#define W1_DS2760_WRITE_DATA 0x6C
8381+#define W1_DS2760_COPY_DATA 0x48
8382+#define W1_DS2760_RECALL_DATA 0xB8
8383+#define W1_DS2760_LOCK 0x6A
8384+
8385+/* Number of valid register addresses */
8386+#define DS2760_DATA_SIZE 0x40
8387+
8388+#define DS2760_PROTECTION_REG 0x00
8389+#define DS2760_STATUS_REG 0x01
8390+#define DS2760_EEPROM_REG 0x07
8391+#define DS2760_SPECIAL_FEATURE_REG 0x08
8392+#define DS2760_VOLTAGE_MSB 0x0c
8393+#define DS2760_VOLTAGE_LSB 0x0d
8394+#define DS2760_CURRENT_MSB 0x0e
8395+#define DS2760_CURRENT_LSB 0x0f
8396+#define DS2760_CURRENT_ACCUM_MSB 0x10
8397+#define DS2760_CURRENT_ACCUM_LSB 0x11
8398+#define DS2760_TEMP_MSB 0x18
8399+#define DS2760_TEMP_LSB 0x19
8400+#define DS2760_EEPROM_BLOCK0 0x20
8401+#define DS2760_ACTIVE_FULL 0x20
8402+#define DS2760_EEPROM_BLOCK1 0x30
8403+#define DS2760_RATED_CAPACITY 0x32
8404+#define DS2760_CURRENT_OFFSET_BIAS 0x33
8405+#define DS2760_ACTIVE_EMPTY 0x3b
8406+
8407+extern int w1_ds2760_read(struct device *dev, char *buf, int addr,
8408+ size_t count);
8409+extern int w1_ds2760_write(struct device *dev, char *buf, int addr,
8410+ size_t count);
8411+
8412+#endif /* !__w1_ds2760_h__ */
8413Index: linux-2.6.22/drivers/serial/pxa.c 7904Index: linux-2.6.22/drivers/serial/pxa.c
8414=================================================================== 7905===================================================================
8415--- linux-2.6.22.orig/drivers/serial/pxa.c 2007-08-23 13:21:54.000000000 +0200 7906--- linux-2.6.22.orig/drivers/serial/pxa.c 2007-07-09 01:32:17.000000000 +0200
8416+++ linux-2.6.22/drivers/serial/pxa.c 2007-08-23 13:22:54.000000000 +0200 7907+++ linux-2.6.22/drivers/serial/pxa.c 2007-08-29 12:44:49.000000000 +0200
8417@@ -46,6 +46,7 @@ 7908@@ -46,6 +46,7 @@
8418 #include <asm/io.h> 7909 #include <asm/io.h>
8419 #include <asm/hardware.h> 7910 #include <asm/hardware.h>
@@ -8478,3 +7969,59 @@ Index: linux-2.6.22/drivers/serial/pxa.c
8478 } 7969 }
8479 7970
8480 static void 7971 static void
7972Index: linux-2.6.22/arch/arm/mach-pxa/generic.c
7973===================================================================
7974--- linux-2.6.22.orig/arch/arm/mach-pxa/generic.c 2007-08-29 12:44:25.000000000 +0200
7975+++ linux-2.6.22/arch/arm/mach-pxa/generic.c 2007-08-29 12:44:49.000000000 +0200
7976@@ -42,6 +42,7 @@
7977 #include <asm/arch/mmc.h>
7978 #include <asm/arch/irda.h>
7979 #include <asm/arch/i2c.h>
7980+#include <asm/arch/serial.h>
7981
7982 #include "devices.h"
7983 #include "generic.h"
7984@@ -346,6 +347,18 @@
7985 .id = 3,
7986 };
7987
7988+void __init pxa_set_ffuart_info(struct platform_pxa_serial_funcs *info)
7989+{
7990+ pxa_device_ffuart.dev.platform_data = info;
7991+}
7992+EXPORT_SYMBOL(pxa_set_ffuart_info);
7993+
7994+void __init pxa_set_btuart_info(struct platform_pxa_serial_funcs *info)
7995+{
7996+ pxa_device_btuart.dev.platform_data = info;
7997+}
7998+EXPORT_SYMBOL(pxa_set_btuart_info);
7999+
8000 static struct resource pxai2c_resources[] = {
8001 {
8002 .start = 0x40301680,
8003Index: linux-2.6.22/drivers/leds/Makefile
8004===================================================================
8005--- linux-2.6.22.orig/drivers/leds/Makefile 2007-08-29 12:44:30.000000000 +0200
8006+++ linux-2.6.22/drivers/leds/Makefile 2007-08-29 12:44:49.000000000 +0200
8007@@ -16,6 +16,7 @@
8008 obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o
8009 obj-$(CONFIG_LEDS_H1940) += leds-h1940.o
8010 obj-$(CONFIG_LEDS_COBALT) += leds-cobalt.o
8011+obj-$(CONFIG_LEDS_ASIC3) += leds-asic3.o
8012 obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o
8013
8014 # LED Triggers
8015Index: linux-2.6.22/arch/arm/Kconfig
8016===================================================================
8017--- linux-2.6.22.orig/arch/arm/Kconfig 2007-08-29 17:18:19.000000000 +0200
8018+++ linux-2.6.22/arch/arm/Kconfig 2007-08-29 17:18:58.000000000 +0200
8019@@ -1032,6 +1032,8 @@
8020
8021 source "drivers/w1/Kconfig"
8022
8023+source "drivers/power/Kconfig"
8024+
8025 source "drivers/hwmon/Kconfig"
8026
8027 #source "drivers/l3/Kconfig"