diff options
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/Kbuild | 1 | ||||
-rw-r--r-- | include/linux/fs.h | 2 | ||||
-rw-r--r-- | include/linux/i2c.h | 4 | ||||
-rw-r--r-- | include/linux/init.h | 2 | ||||
-rw-r--r-- | include/linux/irq.h | 1 | ||||
-rw-r--r-- | include/linux/kdebug.h | 2 | ||||
-rw-r--r-- | include/linux/mmzone.h | 1 | ||||
-rw-r--r-- | include/linux/pci_ids.h | 1 | ||||
-rw-r--r-- | include/linux/spi/spi.h | 59 | ||||
-rw-r--r-- | include/linux/spi/spidev.h | 4 | ||||
-rw-r--r-- | include/linux/sysctl.h | 2 |
11 files changed, 73 insertions, 6 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild index bcf875e844fe..ad7f71a81b0a 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild | |||
@@ -137,6 +137,7 @@ header-y += radeonfb.h | |||
137 | header-y += raw.h | 137 | header-y += raw.h |
138 | header-y += resource.h | 138 | header-y += resource.h |
139 | header-y += rose.h | 139 | header-y += rose.h |
140 | header-y += serial_reg.h | ||
140 | header-y += smbno.h | 141 | header-y += smbno.h |
141 | header-y += snmp.h | 142 | header-y += snmp.h |
142 | header-y += sockios.h | 143 | header-y += sockios.h |
diff --git a/include/linux/fs.h b/include/linux/fs.h index d33beadd9a43..6bf139562947 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -878,7 +878,7 @@ extern int vfs_cancel_lock(struct file *filp, struct file_lock *fl); | |||
878 | extern int flock_lock_file_wait(struct file *filp, struct file_lock *fl); | 878 | extern int flock_lock_file_wait(struct file *filp, struct file_lock *fl); |
879 | extern int __break_lease(struct inode *inode, unsigned int flags); | 879 | extern int __break_lease(struct inode *inode, unsigned int flags); |
880 | extern void lease_get_mtime(struct inode *, struct timespec *time); | 880 | extern void lease_get_mtime(struct inode *, struct timespec *time); |
881 | extern int setlease(struct file *, long, struct file_lock **); | 881 | extern int generic_setlease(struct file *, long, struct file_lock **); |
882 | extern int vfs_setlease(struct file *, long, struct file_lock **); | 882 | extern int vfs_setlease(struct file *, long, struct file_lock **); |
883 | extern int lease_modify(struct file_lock **, int); | 883 | extern int lease_modify(struct file_lock **, int); |
884 | extern int lock_may_read(struct inode *, loff_t start, unsigned long count); | 884 | extern int lock_may_read(struct inode *, loff_t start, unsigned long count); |
diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 0c37a737a2b2..2a32f2fd940d 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h | |||
@@ -156,10 +156,14 @@ struct i2c_driver { | |||
156 | * @name: Indicates the type of the device, usually a chip name that's | 156 | * @name: Indicates the type of the device, usually a chip name that's |
157 | * generic enough to hide second-sourcing and compatible revisions. | 157 | * generic enough to hide second-sourcing and compatible revisions. |
158 | * @adapter: manages the bus segment hosting this I2C device | 158 | * @adapter: manages the bus segment hosting this I2C device |
159 | * @driver: device's driver, hence pointer to access routines | ||
160 | * @usage_count: counts current number of users of this client | ||
159 | * @dev: Driver model device node for the slave. | 161 | * @dev: Driver model device node for the slave. |
160 | * @irq: indicates the IRQ generated by this device (if any) | 162 | * @irq: indicates the IRQ generated by this device (if any) |
161 | * @driver_name: Identifies new-style driver used with this device; also | 163 | * @driver_name: Identifies new-style driver used with this device; also |
162 | * used as the module name for hotplug/coldplug modprobe support. | 164 | * used as the module name for hotplug/coldplug modprobe support. |
165 | * @list: list of active/busy clients | ||
166 | * @released: used to synchronize client releases & detaches and references | ||
163 | * | 167 | * |
164 | * An i2c_client identifies a single device (i.e. chip) connected to an | 168 | * An i2c_client identifies a single device (i.e. chip) connected to an |
165 | * i2c bus. The behaviour exposed to Linux is defined by the driver | 169 | * i2c bus. The behaviour exposed to Linux is defined by the driver |
diff --git a/include/linux/init.h b/include/linux/init.h index f0d0e3295a9b..1a4a283d19a9 100644 --- a/include/linux/init.h +++ b/include/linux/init.h | |||
@@ -114,7 +114,7 @@ void prepare_namespace(void); | |||
114 | * | 114 | * |
115 | * This only exists for built-in code, not for modules. | 115 | * This only exists for built-in code, not for modules. |
116 | */ | 116 | */ |
117 | #define pure_initcall(fn) __define_initcall("0",fn,1) | 117 | #define pure_initcall(fn) __define_initcall("0",fn,0) |
118 | 118 | ||
119 | #define core_initcall(fn) __define_initcall("1",fn,1) | 119 | #define core_initcall(fn) __define_initcall("1",fn,1) |
120 | #define core_initcall_sync(fn) __define_initcall("1s",fn,1s) | 120 | #define core_initcall_sync(fn) __define_initcall("1s",fn,1s) |
diff --git a/include/linux/irq.h b/include/linux/irq.h index 44657197fcb0..efc88538b2ba 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
@@ -140,6 +140,7 @@ struct irq_chip { | |||
140 | * @wake_depth: enable depth, for multiple set_irq_wake() callers | 140 | * @wake_depth: enable depth, for multiple set_irq_wake() callers |
141 | * @irq_count: stats field to detect stalled irqs | 141 | * @irq_count: stats field to detect stalled irqs |
142 | * @irqs_unhandled: stats field for spurious unhandled interrupts | 142 | * @irqs_unhandled: stats field for spurious unhandled interrupts |
143 | * @last_unhandled: aging timer for unhandled count | ||
143 | * @lock: locking for SMP | 144 | * @lock: locking for SMP |
144 | * @affinity: IRQ affinity on SMP | 145 | * @affinity: IRQ affinity on SMP |
145 | * @cpu: cpu index useful for balancing | 146 | * @cpu: cpu index useful for balancing |
diff --git a/include/linux/kdebug.h b/include/linux/kdebug.h index 5db38d6d8b92..ed815090b3bc 100644 --- a/include/linux/kdebug.h +++ b/include/linux/kdebug.h | |||
@@ -3,6 +3,8 @@ | |||
3 | 3 | ||
4 | #include <asm/kdebug.h> | 4 | #include <asm/kdebug.h> |
5 | 5 | ||
6 | struct notifier_block; | ||
7 | |||
6 | struct die_args { | 8 | struct die_args { |
7 | struct pt_regs *regs; | 9 | struct pt_regs *regs; |
8 | const char *str; | 10 | const char *str; |
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index da8eb8ad9e9b..3ea68cd3b61f 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h | |||
@@ -120,7 +120,6 @@ enum zone_type { | |||
120 | * --------------------------- | 120 | * --------------------------- |
121 | * parisc, ia64, sparc <4G | 121 | * parisc, ia64, sparc <4G |
122 | * s390 <2G | 122 | * s390 <2G |
123 | * arm26 <48M | ||
124 | * arm Various | 123 | * arm Various |
125 | * alpha Unlimited or 0-16MB. | 124 | * alpha Unlimited or 0-16MB. |
126 | * | 125 | * |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 69d68117bdac..07fc57429b58 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -611,7 +611,6 @@ | |||
611 | #define PCI_DEVICE_ID_NEC_CBUS_3 0x003b | 611 | #define PCI_DEVICE_ID_NEC_CBUS_3 0x003b |
612 | #define PCI_DEVICE_ID_NEC_NAPCCARD 0x003e | 612 | #define PCI_DEVICE_ID_NEC_NAPCCARD 0x003e |
613 | #define PCI_DEVICE_ID_NEC_PCX2 0x0046 /* PowerVR */ | 613 | #define PCI_DEVICE_ID_NEC_PCX2 0x0046 /* PowerVR */ |
614 | #define PCI_DEVICE_ID_NEC_NILE4 0x005a | ||
615 | #define PCI_DEVICE_ID_NEC_VRC5476 0x009b | 614 | #define PCI_DEVICE_ID_NEC_VRC5476 0x009b |
616 | #define PCI_DEVICE_ID_NEC_VRC4173 0x00a5 | 615 | #define PCI_DEVICE_ID_NEC_VRC4173 0x00a5 |
617 | #define PCI_DEVICE_ID_NEC_VRC5477_AC97 0x00a6 | 616 | #define PCI_DEVICE_ID_NEC_VRC5477_AC97 0x00a6 |
diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h index 302b81d1d117..002a3cddbdd5 100644 --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h | |||
@@ -77,6 +77,7 @@ struct spi_device { | |||
77 | #define SPI_CS_HIGH 0x04 /* chipselect active high? */ | 77 | #define SPI_CS_HIGH 0x04 /* chipselect active high? */ |
78 | #define SPI_LSB_FIRST 0x08 /* per-word bits-on-wire */ | 78 | #define SPI_LSB_FIRST 0x08 /* per-word bits-on-wire */ |
79 | #define SPI_3WIRE 0x10 /* SI/SO signals shared */ | 79 | #define SPI_3WIRE 0x10 /* SI/SO signals shared */ |
80 | #define SPI_LOOP 0x20 /* loopback mode */ | ||
80 | u8 bits_per_word; | 81 | u8 bits_per_word; |
81 | int irq; | 82 | int irq; |
82 | void *controller_state; | 83 | void *controller_state; |
@@ -138,6 +139,32 @@ struct spi_message; | |||
138 | 139 | ||
139 | 140 | ||
140 | 141 | ||
142 | /** | ||
143 | * struct spi_driver - Host side "protocol" driver | ||
144 | * @probe: Binds this driver to the spi device. Drivers can verify | ||
145 | * that the device is actually present, and may need to configure | ||
146 | * characteristics (such as bits_per_word) which weren't needed for | ||
147 | * the initial configuration done during system setup. | ||
148 | * @remove: Unbinds this driver from the spi device | ||
149 | * @shutdown: Standard shutdown callback used during system state | ||
150 | * transitions such as powerdown/halt and kexec | ||
151 | * @suspend: Standard suspend callback used during system state transitions | ||
152 | * @resume: Standard resume callback used during system state transitions | ||
153 | * @driver: SPI device drivers should initialize the name and owner | ||
154 | * field of this structure. | ||
155 | * | ||
156 | * This represents the kind of device driver that uses SPI messages to | ||
157 | * interact with the hardware at the other end of a SPI link. It's called | ||
158 | * a "protocol" driver because it works through messages rather than talking | ||
159 | * directly to SPI hardware (which is what the underlying SPI controller | ||
160 | * driver does to pass those messages). These protocols are defined in the | ||
161 | * specification for the device(s) supported by the driver. | ||
162 | * | ||
163 | * As a rule, those device protocols represent the lowest level interface | ||
164 | * supported by a driver, and it will support upper level interfaces too. | ||
165 | * Examples of such upper levels include frameworks like MTD, networking, | ||
166 | * MMC, RTC, filesystem character device nodes, and hardware monitoring. | ||
167 | */ | ||
141 | struct spi_driver { | 168 | struct spi_driver { |
142 | int (*probe)(struct spi_device *spi); | 169 | int (*probe)(struct spi_device *spi); |
143 | int (*remove)(struct spi_device *spi); | 170 | int (*remove)(struct spi_device *spi); |
@@ -667,7 +694,37 @@ static inline ssize_t spi_w8r16(struct spi_device *spi, u8 cmd) | |||
667 | * parport adapters, or microcontrollers acting as USB-to-SPI bridges. | 694 | * parport adapters, or microcontrollers acting as USB-to-SPI bridges. |
668 | */ | 695 | */ |
669 | 696 | ||
670 | /* board-specific information about each SPI device */ | 697 | /** |
698 | * struct spi_board_info - board-specific template for a SPI device | ||
699 | * @modalias: Initializes spi_device.modalias; identifies the driver. | ||
700 | * @platform_data: Initializes spi_device.platform_data; the particular | ||
701 | * data stored there is driver-specific. | ||
702 | * @controller_data: Initializes spi_device.controller_data; some | ||
703 | * controllers need hints about hardware setup, e.g. for DMA. | ||
704 | * @irq: Initializes spi_device.irq; depends on how the board is wired. | ||
705 | * @max_speed_hz: Initializes spi_device.max_speed_hz; based on limits | ||
706 | * from the chip datasheet and board-specific signal quality issues. | ||
707 | * @bus_num: Identifies which spi_master parents the spi_device; unused | ||
708 | * by spi_new_device(), and otherwise depends on board wiring. | ||
709 | * @chip_select: Initializes spi_device.chip_select; depends on how | ||
710 | * the board is wired. | ||
711 | * @mode: Initializes spi_device.mode; based on the chip datasheet, board | ||
712 | * wiring (some devices support both 3WIRE and standard modes), and | ||
713 | * possibly presence of an inverter in the chipselect path. | ||
714 | * | ||
715 | * When adding new SPI devices to the device tree, these structures serve | ||
716 | * as a partial device template. They hold information which can't always | ||
717 | * be determined by drivers. Information that probe() can establish (such | ||
718 | * as the default transfer wordsize) is not included here. | ||
719 | * | ||
720 | * These structures are used in two places. Their primary role is to | ||
721 | * be stored in tables of board-specific device descriptors, which are | ||
722 | * declared early in board initialization and then used (much later) to | ||
723 | * populate a controller's device tree after the that controller's driver | ||
724 | * initializes. A secondary (and atypical) role is as a parameter to | ||
725 | * spi_new_device() call, which happens after those controller drivers | ||
726 | * are active in some dynamic board configuration models. | ||
727 | */ | ||
671 | struct spi_board_info { | 728 | struct spi_board_info { |
672 | /* the device name and module name are coupled, like platform_bus; | 729 | /* the device name and module name are coupled, like platform_bus; |
673 | * "modalias" is normally the driver name. | 730 | * "modalias" is normally the driver name. |
diff --git a/include/linux/spi/spidev.h b/include/linux/spi/spidev.h index 7d700be57490..c93ef9d42a01 100644 --- a/include/linux/spi/spidev.h +++ b/include/linux/spi/spidev.h | |||
@@ -35,6 +35,10 @@ | |||
35 | #define SPI_MODE_2 (SPI_CPOL|0) | 35 | #define SPI_MODE_2 (SPI_CPOL|0) |
36 | #define SPI_MODE_3 (SPI_CPOL|SPI_CPHA) | 36 | #define SPI_MODE_3 (SPI_CPOL|SPI_CPHA) |
37 | 37 | ||
38 | #define SPI_CS_HIGH 0x04 | ||
39 | #define SPI_LSB_FIRST 0x08 | ||
40 | #define SPI_3WIRE 0x10 | ||
41 | #define SPI_LOOP 0x20 | ||
38 | 42 | ||
39 | /*---------------------------------------------------------------------------*/ | 43 | /*---------------------------------------------------------------------------*/ |
40 | 44 | ||
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 47f1c53332ce..483050c924c3 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h | |||
@@ -62,7 +62,7 @@ enum | |||
62 | CTL_KERN=1, /* General kernel info and control */ | 62 | CTL_KERN=1, /* General kernel info and control */ |
63 | CTL_VM=2, /* VM management */ | 63 | CTL_VM=2, /* VM management */ |
64 | CTL_NET=3, /* Networking */ | 64 | CTL_NET=3, /* Networking */ |
65 | /* was CTL_PROC */ | 65 | CTL_PROC=4, /* removal breaks strace(1) compilation */ |
66 | CTL_FS=5, /* Filesystems */ | 66 | CTL_FS=5, /* Filesystems */ |
67 | CTL_DEBUG=6, /* Debugging */ | 67 | CTL_DEBUG=6, /* Debugging */ |
68 | CTL_DEV=7, /* Devices */ | 68 | CTL_DEV=7, /* Devices */ |