diff options
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/ata_platform.h | 3 | ||||
-rw-r--r-- | include/linux/mbus.h | 36 | ||||
-rw-r--r-- | include/linux/mfd/htc-egpio.h | 57 | ||||
-rw-r--r-- | include/linux/mfd/htc-pasic3.h | 55 | ||||
-rw-r--r-- | include/linux/sched.h | 6 |
5 files changed, 157 insertions, 0 deletions
diff --git a/include/linux/ata_platform.h b/include/linux/ata_platform.h index b856a2a590d9..9a26c83a2c9e 100644 --- a/include/linux/ata_platform.h +++ b/include/linux/ata_platform.h | |||
@@ -27,7 +27,10 @@ extern int __devexit __pata_platform_remove(struct device *dev); | |||
27 | /* | 27 | /* |
28 | * Marvell SATA private data | 28 | * Marvell SATA private data |
29 | */ | 29 | */ |
30 | struct mbus_dram_target_info; | ||
31 | |||
30 | struct mv_sata_platform_data { | 32 | struct mv_sata_platform_data { |
33 | struct mbus_dram_target_info *dram; | ||
31 | int n_ports; /* number of sata ports */ | 34 | int n_ports; /* number of sata ports */ |
32 | }; | 35 | }; |
33 | 36 | ||
diff --git a/include/linux/mbus.h b/include/linux/mbus.h new file mode 100644 index 000000000000..c11ff2932549 --- /dev/null +++ b/include/linux/mbus.h | |||
@@ -0,0 +1,36 @@ | |||
1 | /* | ||
2 | * Marvell MBUS common definitions. | ||
3 | * | ||
4 | * Copyright (C) 2008 Marvell Semiconductor | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public | ||
7 | * License version 2. This program is licensed "as is" without any | ||
8 | * warranty of any kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | #ifndef __LINUX_MBUS_H | ||
12 | #define __LINUX_MBUS_H | ||
13 | |||
14 | struct mbus_dram_target_info | ||
15 | { | ||
16 | /* | ||
17 | * The 4-bit MBUS target ID of the DRAM controller. | ||
18 | */ | ||
19 | u8 mbus_dram_target_id; | ||
20 | |||
21 | /* | ||
22 | * The base address, size, and MBUS attribute ID for each | ||
23 | * of the possible DRAM chip selects. Peripherals are | ||
24 | * required to support at least 4 decode windows. | ||
25 | */ | ||
26 | int num_cs; | ||
27 | struct mbus_dram_window { | ||
28 | u8 cs_index; | ||
29 | u8 mbus_attr; | ||
30 | u32 base; | ||
31 | u32 size; | ||
32 | } cs[4]; | ||
33 | }; | ||
34 | |||
35 | |||
36 | #endif | ||
diff --git a/include/linux/mfd/htc-egpio.h b/include/linux/mfd/htc-egpio.h new file mode 100644 index 000000000000..b4201c971367 --- /dev/null +++ b/include/linux/mfd/htc-egpio.h | |||
@@ -0,0 +1,57 @@ | |||
1 | /* | ||
2 | * HTC simple EGPIO irq and gpio extender | ||
3 | */ | ||
4 | |||
5 | #ifndef __HTC_EGPIO_H__ | ||
6 | #define __HTC_EGPIO_H__ | ||
7 | |||
8 | #include <linux/gpio.h> | ||
9 | |||
10 | /* Descriptive values for all-in or all-out htc_egpio_chip descriptors. */ | ||
11 | #define HTC_EGPIO_OUTPUT (~0) | ||
12 | #define HTC_EGPIO_INPUT 0 | ||
13 | |||
14 | /** | ||
15 | * struct htc_egpio_chip - descriptor to create gpio_chip for register range | ||
16 | * @reg_start: index of first register | ||
17 | * @gpio_base: gpio number of first pin in this register range | ||
18 | * @num_gpios: number of gpios in this register range, max BITS_PER_LONG | ||
19 | * (number of registers = DIV_ROUND_UP(num_gpios, reg_width)) | ||
20 | * @direction: bitfield, '0' = input, '1' = output, | ||
21 | */ | ||
22 | struct htc_egpio_chip { | ||
23 | int reg_start; | ||
24 | int gpio_base; | ||
25 | int num_gpios; | ||
26 | unsigned long direction; | ||
27 | unsigned long initial_values; | ||
28 | }; | ||
29 | |||
30 | /** | ||
31 | * struct htc_egpio_platform_data - description provided by the arch | ||
32 | * @irq_base: beginning of available IRQs (eg, IRQ_BOARD_START) | ||
33 | * @num_irqs: number of irqs | ||
34 | * @reg_width: number of bits per register, either 8 or 16 bit | ||
35 | * @bus_width: alignment of the registers, either 16 or 32 bit | ||
36 | * @invert_acks: set if chip requires writing '0' to ack an irq, instead of '1' | ||
37 | * @ack_register: location of the irq/ack register | ||
38 | * @chip: pointer to array of htc_egpio_chip descriptors | ||
39 | * @num_chips: number of egpio chip descriptors | ||
40 | */ | ||
41 | struct htc_egpio_platform_data { | ||
42 | int bus_width; | ||
43 | int reg_width; | ||
44 | |||
45 | int irq_base; | ||
46 | int num_irqs; | ||
47 | int invert_acks; | ||
48 | int ack_register; | ||
49 | |||
50 | struct htc_egpio_chip *chip; | ||
51 | int num_chips; | ||
52 | }; | ||
53 | |||
54 | /* Determine the wakeup irq, to be called during early resume */ | ||
55 | extern int htc_egpio_get_wakeup_irq(struct device *dev); | ||
56 | |||
57 | #endif | ||
diff --git a/include/linux/mfd/htc-pasic3.h b/include/linux/mfd/htc-pasic3.h new file mode 100644 index 000000000000..b4294f12c4f8 --- /dev/null +++ b/include/linux/mfd/htc-pasic3.h | |||
@@ -0,0 +1,55 @@ | |||
1 | /* | ||
2 | * HTC PASIC3 driver - LEDs and DS1WM | ||
3 | * | ||
4 | * Copyright (c) 2007 Philipp Zabel <philipp.zabel@gmail.com> | ||
5 | * | ||
6 | * This file is subject to the terms and conditions of the GNU General Public | ||
7 | * License. See the file COPYING in the main directory of this archive for | ||
8 | * more details. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | #ifndef __PASIC3_H | ||
13 | #define __PASIC3_H | ||
14 | |||
15 | #include <linux/platform_device.h> | ||
16 | #include <linux/leds.h> | ||
17 | |||
18 | extern void pasic3_write_register(struct device *dev, u32 reg, u8 val); | ||
19 | extern u8 pasic3_read_register(struct device *dev, u32 reg); | ||
20 | |||
21 | /* | ||
22 | * mask for registers 0x20,0x21,0x22 | ||
23 | */ | ||
24 | #define PASIC3_MASK_LED0 0x04 | ||
25 | #define PASIC3_MASK_LED1 0x08 | ||
26 | #define PASIC3_MASK_LED2 0x40 | ||
27 | |||
28 | /* | ||
29 | * bits in register 0x06 | ||
30 | */ | ||
31 | #define PASIC3_BIT2_LED0 0x08 | ||
32 | #define PASIC3_BIT2_LED1 0x10 | ||
33 | #define PASIC3_BIT2_LED2 0x20 | ||
34 | |||
35 | struct pasic3_led { | ||
36 | struct led_classdev led; | ||
37 | unsigned int hw_num; | ||
38 | unsigned int bit2; | ||
39 | unsigned int mask; | ||
40 | struct pasic3_leds_machinfo *pdata; | ||
41 | }; | ||
42 | |||
43 | struct pasic3_leds_machinfo { | ||
44 | unsigned int num_leds; | ||
45 | unsigned int power_gpio; | ||
46 | struct pasic3_led *leds; | ||
47 | }; | ||
48 | |||
49 | struct pasic3_platform_data { | ||
50 | struct pasic3_leds_machinfo *led_pdata; | ||
51 | unsigned int bus_shift; | ||
52 | unsigned int clock_rate; | ||
53 | }; | ||
54 | |||
55 | #endif | ||
diff --git a/include/linux/sched.h b/include/linux/sched.h index fed07d03364e..6a1e7afb099b 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -1541,6 +1541,12 @@ static inline void idle_task_exit(void) {} | |||
1541 | 1541 | ||
1542 | extern void sched_idle_next(void); | 1542 | extern void sched_idle_next(void); |
1543 | 1543 | ||
1544 | #if defined(CONFIG_NO_HZ) && defined(CONFIG_SMP) | ||
1545 | extern void wake_up_idle_cpu(int cpu); | ||
1546 | #else | ||
1547 | static inline void wake_up_idle_cpu(int cpu) { } | ||
1548 | #endif | ||
1549 | |||
1544 | #ifdef CONFIG_SCHED_DEBUG | 1550 | #ifdef CONFIG_SCHED_DEBUG |
1545 | extern unsigned int sysctl_sched_latency; | 1551 | extern unsigned int sysctl_sched_latency; |
1546 | extern unsigned int sysctl_sched_min_granularity; | 1552 | extern unsigned int sysctl_sched_min_granularity; |