📄 patch-2.6.0-rmk2
字号:
+ break;+ default:+ return;+ }+ sa1111_writel(duty, reg);+}++void sa1111_set_io_dir(struct sa1111_dev *sadev,+ unsigned int bits, unsigned int dir,+ unsigned int sleep_dir)+{+ struct sa1111 *sachip = sa1111_chip_driver(sadev);+ unsigned long flags;+ unsigned int val;+ void *gpio = sachip->base + SA1111_GPIO;++#define MODIFY_BITS(port, mask, dir) \+ if (mask) { \+ val = sa1111_readl(port); \+ val &= ~(mask); \+ val |= (dir) & (mask); \+ sa1111_writel(val, port); \+ }++ spin_lock_irqsave(&sachip->lock, flags);+ MODIFY_BITS(gpio + SA1111_GPIO_PADDR, bits & 15, dir);+ MODIFY_BITS(gpio + SA1111_GPIO_PBDDR, (bits >> 8) & 255, dir >> 8);+ MODIFY_BITS(gpio + SA1111_GPIO_PCDDR, (bits >> 16) & 255, dir >> 16);++ MODIFY_BITS(gpio + SA1111_GPIO_PASDR, bits & 15, sleep_dir);+ MODIFY_BITS(gpio + SA1111_GPIO_PBSDR, (bits >> 8) & 255, sleep_dir >> 8);+ MODIFY_BITS(gpio + SA1111_GPIO_PCSDR, (bits >> 16) & 255, sleep_dir >> 16);+ spin_unlock_irqrestore(&sachip->lock, flags);+}++void sa1111_set_io(struct sa1111_dev *sadev, unsigned int bits, unsigned int v)+{+ struct sa1111 *sachip = sa1111_chip_driver(sadev);+ unsigned long flags;+ unsigned int val;+ void *gpio = sachip->base + SA1111_GPIO;++ spin_lock_irqsave(&sachip->lock, flags);+ MODIFY_BITS(gpio + SA1111_GPIO_PADWR, bits & 15, v);+ MODIFY_BITS(gpio + SA1111_GPIO_PBDWR, (bits >> 8) & 255, v >> 8);+ MODIFY_BITS(gpio + SA1111_GPIO_PCDWR, (bits >> 16) & 255, v >> 16);+ spin_unlock_irqrestore(&sachip->lock, flags);+}++void sa1111_set_sleep_io(struct sa1111_dev *sadev, unsigned int bits, unsigned int v)+{+ struct sa1111 *sachip = sa1111_chip_driver(sadev);+ unsigned long flags;+ unsigned int val;+ void *gpio = sachip->base + SA1111_GPIO;++ spin_lock_irqsave(&sachip->lock, flags);+ MODIFY_BITS(gpio + SA1111_GPIO_PASSR, bits & 15, v);+ MODIFY_BITS(gpio + SA1111_GPIO_PBSSR, (bits >> 8) & 255, v >> 8);+ MODIFY_BITS(gpio + SA1111_GPIO_PCSSR, (bits >> 16) & 255, v >> 16);+ spin_unlock_irqrestore(&sachip->lock, flags);+}+ /* * Individual device operations. */@@ -1199,6 +1331,7 @@ int sa1111_driver_register(struct sa1111_driver *driver) {+ WARN_ON(driver->drv.suspend || driver->drv.resume || driver->drv.probe || driver->drv.remove); driver->drv.probe = sa1111_bus_probe; driver->drv.remove = sa1111_bus_remove; driver->drv.bus = &sa1111_bus_type;@@ -1234,6 +1367,9 @@ EXPORT_SYMBOL(sa1111_select_audio_mode); EXPORT_SYMBOL(sa1111_set_audio_rate); EXPORT_SYMBOL(sa1111_get_audio_rate);+EXPORT_SYMBOL(sa1111_pwm_enable); /* not happy about the interface */+EXPORT_SYMBOL(sa1111_pwm_disable); /* not happy about the interface */+EXPORT_SYMBOL(sa1111_pwm_dutycycle); /* not happy about the interface */ EXPORT_SYMBOL(sa1111_enable_device); EXPORT_SYMBOL(sa1111_disable_device); EXPORT_SYMBOL(sa1111_pll_clock);diff -urN orig/arch/arm/configs/shark_defconfig linux/arch/arm/configs/shark_defconfig--- orig/arch/arm/configs/shark_defconfig Sun Sep 28 09:53:48 2003+++ linux/arch/arm/configs/shark_defconfig Tue Oct 21 21:54:38 2003@@ -10,6 +10,10 @@ # Code maturity level options # CONFIG_EXPERIMENTAL=y+# CONFIG_CLEAN_COMPILE is not set+# CONFIG_STANDALONE is not set+CONFIG_BROKEN=y+CONFIG_BROKEN_ON_SMP=y # # General setup@@ -19,6 +23,14 @@ # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_SYSCTL=y CONFIG_LOG_BUF_SHIFT=14+# CONFIG_IKCONFIG is not set+# CONFIG_EMBEDDED is not set+CONFIG_KALLSYMS=y+CONFIG_FUTEX=y+CONFIG_EPOLL=y+CONFIG_IOSCHED_NOOP=y+CONFIG_IOSCHED_AS=y+CONFIG_IOSCHED_DEADLINE=y # # Loadable module support@@ -35,7 +47,6 @@ # # CONFIG_ARCH_ADIFCC is not set # CONFIG_ARCH_ANAKIN is not set-# CONFIG_ARCH_ARCA5K is not set # CONFIG_ARCH_CLPS7500 is not set # CONFIG_ARCH_CLPS711X is not set # CONFIG_ARCH_CO285 is not set@@ -44,21 +55,13 @@ # CONFIG_ARCH_CAMELOT is not set # CONFIG_ARCH_FOOTBRIDGE is not set # CONFIG_ARCH_INTEGRATOR is not set-# CONFIG_ARCH_IOP310 is not set+# CONFIG_ARCH_IOP3XX is not set # CONFIG_ARCH_L7200 is not set # CONFIG_ARCH_RPC is not set # CONFIG_ARCH_SA1100 is not set CONFIG_ARCH_SHARK=y #-# Archimedes/A5000 Implementations-#--#-# Archimedes/A5000 Implementations (select only ONE)-#--# # CLPS711X/EP721X Implementations # @@ -71,11 +74,13 @@ # #-# IOP310 Implementation Options+# IOP3xx Implementation Options #+# CONFIG_ARCH_IOP310 is not set+# CONFIG_ARCH_IOP321 is not set #-# IOP310 Chipset Features+# IOP3xx Chipset Features # #@@ -92,6 +97,10 @@ CONFIG_CPU_32=y CONFIG_CPU_SA110=y CONFIG_CPU_32v4=y+CONFIG_CPU_ABRT_EV4=y+CONFIG_CPU_CACHE_V4WB=y+CONFIG_CPU_COPY_V4WB=y+CONFIG_CPU_TLB_V4WB=y # # Processor Features@@ -116,11 +125,13 @@ # # CONFIG_FPE_NWFPE is not set CONFIG_FPE_FASTFPE=y-CONFIG_KCORE_ELF=y-# CONFIG_KCORE_AOUT is not set-# CONFIG_BINFMT_AOUT is not set CONFIG_BINFMT_ELF=y+# CONFIG_BINFMT_AOUT is not set # CONFIG_BINFMT_MISC is not set++#+# Generic Driver Options+# # CONFIG_PM is not set # CONFIG_PREEMPT is not set # CONFIG_ARTHUR is not set@@ -164,6 +175,7 @@ # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set CONFIG_BLK_DEV_LOOP=y+# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=4096@@ -185,7 +197,6 @@ CONFIG_PACKET=y # CONFIG_PACKET_MMAP is not set # CONFIG_NETLINK_DEV is not set-# CONFIG_NETFILTER is not set CONFIG_UNIX=y # CONFIG_NET_KEY is not set CONFIG_INET=y@@ -199,8 +210,11 @@ # CONFIG_SYN_COOKIES is not set # CONFIG_INET_AH is not set # CONFIG_INET_ESP is not set+# CONFIG_INET_IPCOMP is not set # CONFIG_IPV6 is not set-# CONFIG_XFRM_USER is not set+# CONFIG_DECNET is not set+# CONFIG_BRIDGE is not set+# CONFIG_NETFILTER is not set # # SCTP Configuration (EXPERIMENTAL)@@ -209,9 +223,9 @@ # CONFIG_IP_SCTP is not set # CONFIG_ATM is not set # CONFIG_VLAN_8021Q is not set-# CONFIG_LLC is not set-# CONFIG_DECNET is not set-# CONFIG_BRIDGE is not set+# CONFIG_LLC2 is not set+# CONFIG_IPX is not set+# CONFIG_ATALK is not set # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_NET_DIVERT is not set@@ -239,13 +253,13 @@ # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set-# CONFIG_ETHERTAP is not set # # Ethernet (10 or 100Mbit) # CONFIG_NET_ETHERNET=y # CONFIG_MII is not set+# CONFIG_SMC91X is not set # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set # CONFIG_NET_VENDOR_3COM is not set@@ -294,8 +308,14 @@ # CONFIG_HAMACHI is not set # CONFIG_YELLOWFIN is not set # CONFIG_R8169 is not set+# CONFIG_SIS190 is not set # CONFIG_SK98LIN is not set # CONFIG_TIGON3 is not set++#+# Ethernet (10000 Mbit)+#+# CONFIG_IXGB is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set # CONFIG_PLIP is not set@@ -306,10 +326,12 @@ # Wireless LAN (non-hamradio) # # CONFIG_NET_RADIO is not set+# CONFIG_HOSTAP is not set #-# Token Ring devices (depends on LLC=y)+# Token Ring devices #+# CONFIG_TR is not set # CONFIG_NET_FC is not set # CONFIG_RCPCI is not set # CONFIG_SHAPER is not set@@ -320,47 +342,54 @@ # CONFIG_WAN is not set #+# Amateur Radio support+#+# CONFIG_HAMRADIO is not set++# # IrDA (infrared) support # # CONFIG_IRDA is not set #-# Amateur Radio support+# Bluetooth support #-# CONFIG_HAMRADIO is not set+# CONFIG_BT is not set # # ATA/ATAPI/MFM/RLL support # CONFIG_IDE=y--#-# IDE, ATA and ATAPI Block devices-# CONFIG_BLK_DEV_IDE=y # # Please see Documentation/ide.txt for help/info on IDE drives #-# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_IDEDISK=y # CONFIG_IDEDISK_MULTI_MODE is not set # CONFIG_IDEDISK_STROKE is not set CONFIG_BLK_DEV_IDECD=y+# CONFIG_BLK_DEV_IDETAPE is not set CONFIG_BLK_DEV_IDEFLOPPY=y # CONFIG_BLK_DEV_IDESCSI is not set # CONFIG_IDE_TASK_IOCTL is not set+# CONFIG_IDE_TASKFILE_IO is not set # # IDE chipset support/bugfixes # # CONFIG_BLK_DEV_IDEPCI is not set # CONFIG_IDE_CHIPSETS is not set+# CONFIG_BLK_DEV_IDEDMA is not set+# CONFIG_IDEDMA_AUTO is not set+# CONFIG_DMA_NONPCI is not set+# CONFIG_BLK_DEV_HD is not set #-# SCSI support+# SCSI device support # CONFIG_SCSI=m+CONFIG_SCSI_PROC_FS=y # # SCSI support type (disk, tape, CD-ROM)@@ -395,7 +424,6 @@ # CONFIG_SCSI_DPT_I2O is not set # CONFIG_SCSI_ADVANSYS is not set # CONFIG_SCSI_IN2000 is not set-# CONFIG_SCSI_AM53C974 is not set # CONFIG_SCSI_MEGARAID is not set # CONFIG_SCSI_BUSLOGIC is not set # CONFIG_SCSI_CPQFCTS is not set@@ -407,15 +435,13 @@ # CONFIG_SCSI_GDTH is not set # CONFIG_SCSI_GENERIC_NCR5380 is not set # CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set+# CONFIG_SCSI_IPS is not set # CONFIG_SCSI_INITIO is not set # CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_PPA is not set # CONFIG_SCSI_IMM is not set # CONFIG_SCSI_NCR53C406A is not set-# CONFIG_SCSI_NCR53C7xx is not set # CONFIG_SCSI_SYM53C8XX_2 is not set-# CONFIG_SCSI_NCR53C8XX is not set-# CONFIG_SCSI_SYM53C8XX is not set # CONFIG_SCSI_PAS16 is not set # CONFIG_SCSI_PCI2000 is not set # CONFIG_SCSI_PCI2220I is not set@@ -425,6 +451,7 @@ # CONFIG_SCSI_QLOGIC_FC is not set # CONFIG_SCSI_QLOGIC_1280 is not set # CONFIG_SCSI_SYM53C416 is not set+# CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_T128 is not set # CONFIG_SCSI_U14_34F is not set@@ -486,6 +513,7 @@ # CONFIG_KEYBOARD_NEWTON is not set CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=y+# CONFIG_MOUSE_PS2_SYNAPTICS is not set # CONFIG_MOUSE_SERIAL is not set # CONFIG_MOUSE_INPORT is not set # CONFIG_MOUSE_LOGIBM is not set@@ -497,7 +525,9 @@ # # Character devices #-# CONFIG_VT is not set+CONFIG_VT=y+CONFIG_VT_CONSOLE=y+CONFIG_HW_CONSOLE=y # CONFIG_SERIAL_NONSTANDARD is not set #@@ -505,6 +535,7 @@ # CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y+CONFIG_SERIAL_8250_NR_UARTS=4 # CONFIG_SERIAL_8250_EXTENDED is not set #@@ -526,12 +557,17 @@ # CONFIG_I2C is not set #-# I2C Hardware Sensors Mainboard support+# I2C Algorithms+#++#+# I2C Hardware Bus support # # # I2C Hardware Sensors Chip support #+# CONFIG_I
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -