diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-frv/mmu.h | 1 | ||||
| -rw-r--r-- | include/asm-m32r/mmu.h | 1 | ||||
| -rw-r--r-- | include/linux/backlight.h | 16 | ||||
| -rw-r--r-- | include/linux/leds-pca9532.h | 2 | ||||
| -rw-r--r-- | include/linux/leds.h | 5 | ||||
| -rw-r--r-- | include/linux/mISDNhw.h | 26 | ||||
| -rw-r--r-- | include/linux/mISDNif.h | 89 | ||||
| -rw-r--r-- | include/linux/mfd/wm8350/pmic.h | 36 | ||||
| -rw-r--r-- | include/linux/mm.h | 18 | ||||
| -rw-r--r-- | include/linux/mm_types.h | 19 | ||||
| -rw-r--r-- | include/linux/spi/tdo24m.h | 13 |
11 files changed, 184 insertions, 42 deletions
diff --git a/include/asm-frv/mmu.h b/include/asm-frv/mmu.h index 22c03714fb1..86ca0e86e7d 100644 --- a/include/asm-frv/mmu.h +++ b/include/asm-frv/mmu.h | |||
| @@ -22,7 +22,6 @@ typedef struct { | |||
| 22 | unsigned long dtlb_ptd_mapping; /* [DAMR5] PTD mapping for dtlb cached PGE */ | 22 | unsigned long dtlb_ptd_mapping; /* [DAMR5] PTD mapping for dtlb cached PGE */ |
| 23 | 23 | ||
| 24 | #else | 24 | #else |
| 25 | struct vm_list_struct *vmlist; | ||
| 26 | unsigned long end_brk; | 25 | unsigned long end_brk; |
| 27 | 26 | ||
| 28 | #endif | 27 | #endif |
diff --git a/include/asm-m32r/mmu.h b/include/asm-m32r/mmu.h index d9bd724479c..150cb92bb66 100644 --- a/include/asm-m32r/mmu.h +++ b/include/asm-m32r/mmu.h | |||
| @@ -4,7 +4,6 @@ | |||
| 4 | #if !defined(CONFIG_MMU) | 4 | #if !defined(CONFIG_MMU) |
| 5 | 5 | ||
| 6 | typedef struct { | 6 | typedef struct { |
| 7 | struct vm_list_struct *vmlist; | ||
| 8 | unsigned long end_brk; | 7 | unsigned long end_brk; |
| 9 | } mm_context_t; | 8 | } mm_context_t; |
| 10 | 9 | ||
diff --git a/include/linux/backlight.h b/include/linux/backlight.h index 1ee9488ca2e..79ca2da81c8 100644 --- a/include/linux/backlight.h +++ b/include/linux/backlight.h | |||
| @@ -31,6 +31,10 @@ struct backlight_device; | |||
| 31 | struct fb_info; | 31 | struct fb_info; |
| 32 | 32 | ||
| 33 | struct backlight_ops { | 33 | struct backlight_ops { |
| 34 | unsigned int options; | ||
| 35 | |||
| 36 | #define BL_CORE_SUSPENDRESUME (1 << 0) | ||
| 37 | |||
| 34 | /* Notify the backlight driver some property has changed */ | 38 | /* Notify the backlight driver some property has changed */ |
| 35 | int (*update_status)(struct backlight_device *); | 39 | int (*update_status)(struct backlight_device *); |
| 36 | /* Return the current backlight brightness (accounting for power, | 40 | /* Return the current backlight brightness (accounting for power, |
| @@ -51,7 +55,19 @@ struct backlight_properties { | |||
| 51 | modes; 4: full off), see FB_BLANK_XXX */ | 55 | modes; 4: full off), see FB_BLANK_XXX */ |
| 52 | int power; | 56 | int power; |
| 53 | /* FB Blanking active? (values as for power) */ | 57 | /* FB Blanking active? (values as for power) */ |
| 58 | /* Due to be removed, please use (state & BL_CORE_FBBLANK) */ | ||
| 54 | int fb_blank; | 59 | int fb_blank; |
| 60 | /* Flags used to signal drivers of state changes */ | ||
| 61 | /* Upper 4 bits are reserved for driver internal use */ | ||
| 62 | unsigned int state; | ||
| 63 | |||
| 64 | #define BL_CORE_SUSPENDED (1 << 0) /* backlight is suspended */ | ||
| 65 | #define BL_CORE_FBBLANK (1 << 1) /* backlight is under an fb blank event */ | ||
| 66 | #define BL_CORE_DRIVER4 (1 << 28) /* reserved for driver specific use */ | ||
| 67 | #define BL_CORE_DRIVER3 (1 << 29) /* reserved for driver specific use */ | ||
| 68 | #define BL_CORE_DRIVER2 (1 << 30) /* reserved for driver specific use */ | ||
| 69 | #define BL_CORE_DRIVER1 (1 << 31) /* reserved for driver specific use */ | ||
| 70 | |||
| 55 | }; | 71 | }; |
| 56 | 72 | ||
| 57 | struct backlight_device { | 73 | struct backlight_device { |
diff --git a/include/linux/leds-pca9532.h b/include/linux/leds-pca9532.h index 81b4207deb9..96eea90f01a 100644 --- a/include/linux/leds-pca9532.h +++ b/include/linux/leds-pca9532.h | |||
| @@ -15,6 +15,7 @@ | |||
| 15 | #define __LINUX_PCA9532_H | 15 | #define __LINUX_PCA9532_H |
| 16 | 16 | ||
| 17 | #include <linux/leds.h> | 17 | #include <linux/leds.h> |
| 18 | #include <linux/workqueue.h> | ||
| 18 | 19 | ||
| 19 | enum pca9532_state { | 20 | enum pca9532_state { |
| 20 | PCA9532_OFF = 0x0, | 21 | PCA9532_OFF = 0x0, |
| @@ -31,6 +32,7 @@ struct pca9532_led { | |||
| 31 | struct i2c_client *client; | 32 | struct i2c_client *client; |
| 32 | char *name; | 33 | char *name; |
| 33 | struct led_classdev ldev; | 34 | struct led_classdev ldev; |
| 35 | struct work_struct work; | ||
| 34 | enum pca9532_type type; | 36 | enum pca9532_type type; |
| 35 | enum pca9532_state state; | 37 | enum pca9532_state state; |
| 36 | }; | 38 | }; |
diff --git a/include/linux/leds.h b/include/linux/leds.h index d3a73f5a48c..24489da701e 100644 --- a/include/linux/leds.h +++ b/include/linux/leds.h | |||
| @@ -32,7 +32,10 @@ struct led_classdev { | |||
| 32 | int brightness; | 32 | int brightness; |
| 33 | int flags; | 33 | int flags; |
| 34 | 34 | ||
| 35 | /* Lower 16 bits reflect status */ | ||
| 35 | #define LED_SUSPENDED (1 << 0) | 36 | #define LED_SUSPENDED (1 << 0) |
| 37 | /* Upper 16 bits reflect control information */ | ||
| 38 | #define LED_CORE_SUSPENDRESUME (1 << 16) | ||
| 36 | 39 | ||
| 37 | /* Set LED brightness level */ | 40 | /* Set LED brightness level */ |
| 38 | /* Must not sleep, use a workqueue if needed */ | 41 | /* Must not sleep, use a workqueue if needed */ |
| @@ -62,7 +65,7 @@ struct led_classdev { | |||
| 62 | 65 | ||
| 63 | extern int led_classdev_register(struct device *parent, | 66 | extern int led_classdev_register(struct device *parent, |
| 64 | struct led_classdev *led_cdev); | 67 | struct led_classdev *led_cdev); |
| 65 | extern void led_classdev_unregister(struct led_classdev *lcd); | 68 | extern void led_classdev_unregister(struct led_classdev *led_cdev); |
| 66 | extern void led_classdev_suspend(struct led_classdev *led_cdev); | 69 | extern void led_classdev_suspend(struct led_classdev *led_cdev); |
| 67 | extern void led_classdev_resume(struct led_classdev *led_cdev); | 70 | extern void led_classdev_resume(struct led_classdev *led_cdev); |
| 68 | 71 | ||
diff --git a/include/linux/mISDNhw.h b/include/linux/mISDNhw.h index e794dfb8750..97ffdc1d344 100644 --- a/include/linux/mISDNhw.h +++ b/include/linux/mISDNhw.h | |||
| @@ -57,20 +57,21 @@ | |||
| 57 | #define FLG_L2DATA 14 /* channel use L2 DATA primitivs */ | 57 | #define FLG_L2DATA 14 /* channel use L2 DATA primitivs */ |
| 58 | #define FLG_ORIGIN 15 /* channel is on origin site */ | 58 | #define FLG_ORIGIN 15 /* channel is on origin site */ |
| 59 | /* channel specific stuff */ | 59 | /* channel specific stuff */ |
| 60 | #define FLG_FILLEMPTY 16 /* fill fifo on first frame (empty) */ | ||
| 60 | /* arcofi specific */ | 61 | /* arcofi specific */ |
| 61 | #define FLG_ARCOFI_TIMER 16 | 62 | #define FLG_ARCOFI_TIMER 17 |
| 62 | #define FLG_ARCOFI_ERROR 17 | 63 | #define FLG_ARCOFI_ERROR 18 |
| 63 | /* isar specific */ | 64 | /* isar specific */ |
| 64 | #define FLG_INITIALIZED 16 | 65 | #define FLG_INITIALIZED 17 |
| 65 | #define FLG_DLEETX 17 | 66 | #define FLG_DLEETX 18 |
| 66 | #define FLG_LASTDLE 18 | 67 | #define FLG_LASTDLE 19 |
| 67 | #define FLG_FIRST 19 | 68 | #define FLG_FIRST 20 |
| 68 | #define FLG_LASTDATA 20 | 69 | #define FLG_LASTDATA 21 |
| 69 | #define FLG_NMD_DATA 21 | 70 | #define FLG_NMD_DATA 22 |
| 70 | #define FLG_FTI_RUN 22 | 71 | #define FLG_FTI_RUN 23 |
| 71 | #define FLG_LL_OK 23 | 72 | #define FLG_LL_OK 24 |
| 72 | #define FLG_LL_CONN 24 | 73 | #define FLG_LL_CONN 25 |
| 73 | #define FLG_DTMFSEND 25 | 74 | #define FLG_DTMFSEND 26 |
| 74 | 75 | ||
| 75 | /* workq events */ | 76 | /* workq events */ |
| 76 | #define FLG_RECVQUEUE 30 | 77 | #define FLG_RECVQUEUE 30 |
| @@ -183,6 +184,7 @@ extern void queue_ch_frame(struct mISDNchannel *, u_int, | |||
| 183 | extern int dchannel_senddata(struct dchannel *, struct sk_buff *); | 184 | extern int dchannel_senddata(struct dchannel *, struct sk_buff *); |
| 184 | extern int bchannel_senddata(struct bchannel *, struct sk_buff *); | 185 | extern int bchannel_senddata(struct bchannel *, struct sk_buff *); |
| 185 | extern void recv_Dchannel(struct dchannel *); | 186 | extern void recv_Dchannel(struct dchannel *); |
| 187 | extern void recv_Echannel(struct dchannel *, struct dchannel *); | ||
| 186 | extern void recv_Bchannel(struct bchannel *); | 188 | extern void recv_Bchannel(struct bchannel *); |
| 187 | extern void recv_Dchannel_skb(struct dchannel *, struct sk_buff *); | 189 | extern void recv_Dchannel_skb(struct dchannel *, struct sk_buff *); |
| 188 | extern void recv_Bchannel_skb(struct bchannel *, struct sk_buff *); | 190 | extern void recv_Bchannel_skb(struct bchannel *, struct sk_buff *); |
diff --git a/include/linux/mISDNif.h b/include/linux/mISDNif.h index 8f2d60da04e..557477ac3d5 100644 --- a/include/linux/mISDNif.h +++ b/include/linux/mISDNif.h | |||
| @@ -36,8 +36,8 @@ | |||
| 36 | * - should be incremented on every checkin | 36 | * - should be incremented on every checkin |
| 37 | */ | 37 | */ |
| 38 | #define MISDN_MAJOR_VERSION 1 | 38 | #define MISDN_MAJOR_VERSION 1 |
| 39 | #define MISDN_MINOR_VERSION 0 | 39 | #define MISDN_MINOR_VERSION 1 |
| 40 | #define MISDN_RELEASE 19 | 40 | #define MISDN_RELEASE 20 |
| 41 | 41 | ||
| 42 | /* primitives for information exchange | 42 | /* primitives for information exchange |
| 43 | * generell format | 43 | * generell format |
| @@ -80,6 +80,7 @@ | |||
| 80 | #define PH_DEACTIVATE_IND 0x0202 | 80 | #define PH_DEACTIVATE_IND 0x0202 |
| 81 | #define PH_DEACTIVATE_CNF 0x4202 | 81 | #define PH_DEACTIVATE_CNF 0x4202 |
| 82 | #define PH_DATA_IND 0x2002 | 82 | #define PH_DATA_IND 0x2002 |
| 83 | #define PH_DATA_E_IND 0x3002 | ||
| 83 | #define MPH_ACTIVATE_IND 0x0502 | 84 | #define MPH_ACTIVATE_IND 0x0502 |
| 84 | #define MPH_DEACTIVATE_IND 0x0602 | 85 | #define MPH_DEACTIVATE_IND 0x0602 |
| 85 | #define MPH_INFORMATION_IND 0x0702 | 86 | #define MPH_INFORMATION_IND 0x0702 |
| @@ -199,6 +200,18 @@ | |||
| 199 | #define ISDN_P_NT_S0 0x02 | 200 | #define ISDN_P_NT_S0 0x02 |
| 200 | #define ISDN_P_TE_E1 0x03 | 201 | #define ISDN_P_TE_E1 0x03 |
| 201 | #define ISDN_P_NT_E1 0x04 | 202 | #define ISDN_P_NT_E1 0x04 |
| 203 | #define ISDN_P_TE_UP0 0x05 | ||
| 204 | #define ISDN_P_NT_UP0 0x06 | ||
| 205 | |||
| 206 | #define IS_ISDN_P_TE(p) ((p == ISDN_P_TE_S0) || (p == ISDN_P_TE_E1) || \ | ||
| 207 | (p == ISDN_P_TE_UP0) || (p == ISDN_P_LAPD_TE)) | ||
| 208 | #define IS_ISDN_P_NT(p) ((p == ISDN_P_NT_S0) || (p == ISDN_P_NT_E1) || \ | ||
| 209 | (p == ISDN_P_NT_UP0) || (p == ISDN_P_LAPD_NT)) | ||
| 210 | #define IS_ISDN_P_S0(p) ((p == ISDN_P_TE_S0) || (p == ISDN_P_NT_S0)) | ||
| 211 | #define IS_ISDN_P_E1(p) ((p == ISDN_P_TE_E1) || (p == ISDN_P_NT_E1)) | ||
| 212 | #define IS_ISDN_P_UP0(p) ((p == ISDN_P_TE_UP0) || (p == ISDN_P_NT_UP0)) | ||
| 213 | |||
| 214 | |||
| 202 | #define ISDN_P_LAPD_TE 0x10 | 215 | #define ISDN_P_LAPD_TE 0x10 |
| 203 | #define ISDN_P_LAPD_NT 0x11 | 216 | #define ISDN_P_LAPD_NT 0x11 |
| 204 | 217 | ||
| @@ -255,16 +268,6 @@ struct sockaddr_mISDN { | |||
| 255 | unsigned char tei; | 268 | unsigned char tei; |
| 256 | }; | 269 | }; |
| 257 | 270 | ||
| 258 | /* timer device ioctl */ | ||
| 259 | #define IMADDTIMER _IOR('I', 64, int) | ||
| 260 | #define IMDELTIMER _IOR('I', 65, int) | ||
| 261 | /* socket ioctls */ | ||
| 262 | #define IMGETVERSION _IOR('I', 66, int) | ||
| 263 | #define IMGETCOUNT _IOR('I', 67, int) | ||
| 264 | #define IMGETDEVINFO _IOR('I', 68, int) | ||
| 265 | #define IMCTRLREQ _IOR('I', 69, int) | ||
| 266 | #define IMCLEAR_L2 _IOR('I', 70, int) | ||
| 267 | |||
| 268 | struct mISDNversion { | 271 | struct mISDNversion { |
| 269 | unsigned char major; | 272 | unsigned char major; |
| 270 | unsigned char minor; | 273 | unsigned char minor; |
| @@ -281,6 +284,40 @@ struct mISDN_devinfo { | |||
| 281 | char name[MISDN_MAX_IDLEN]; | 284 | char name[MISDN_MAX_IDLEN]; |
| 282 | }; | 285 | }; |
| 283 | 286 | ||
| 287 | struct mISDN_devrename { | ||
| 288 | u_int id; | ||
| 289 | char name[MISDN_MAX_IDLEN]; /* new name */ | ||
| 290 | }; | ||
| 291 | |||
| 292 | /* MPH_INFORMATION_REQ payload */ | ||
| 293 | struct ph_info_ch { | ||
| 294 | __u32 protocol; | ||
| 295 | __u64 Flags; | ||
| 296 | }; | ||
| 297 | |||
| 298 | struct ph_info_dch { | ||
| 299 | struct ph_info_ch ch; | ||
| 300 | __u16 state; | ||
| 301 | __u16 num_bch; | ||
| 302 | }; | ||
| 303 | |||
| 304 | struct ph_info { | ||
| 305 | struct ph_info_dch dch; | ||
| 306 | struct ph_info_ch bch[]; | ||
| 307 | }; | ||
| 308 | |||
| 309 | /* timer device ioctl */ | ||
| 310 | #define IMADDTIMER _IOR('I', 64, int) | ||
| 311 | #define IMDELTIMER _IOR('I', 65, int) | ||
| 312 | |||
| 313 | /* socket ioctls */ | ||
| 314 | #define IMGETVERSION _IOR('I', 66, int) | ||
| 315 | #define IMGETCOUNT _IOR('I', 67, int) | ||
| 316 | #define IMGETDEVINFO _IOR('I', 68, int) | ||
| 317 | #define IMCTRLREQ _IOR('I', 69, int) | ||
| 318 | #define IMCLEAR_L2 _IOR('I', 70, int) | ||
| 319 | #define IMSETDEVNAME _IOR('I', 71, struct mISDN_devrename) | ||
| 320 | |||
| 284 | static inline int | 321 | static inline int |
| 285 | test_channelmap(u_int nr, u_char *map) | 322 | test_channelmap(u_int nr, u_char *map) |
| 286 | { | 323 | { |
| @@ -312,6 +349,8 @@ clear_channelmap(u_int nr, u_char *map) | |||
| 312 | #define MISDN_CTRL_SETPEER 0x0040 | 349 | #define MISDN_CTRL_SETPEER 0x0040 |
| 313 | #define MISDN_CTRL_UNSETPEER 0x0080 | 350 | #define MISDN_CTRL_UNSETPEER 0x0080 |
| 314 | #define MISDN_CTRL_RX_OFF 0x0100 | 351 | #define MISDN_CTRL_RX_OFF 0x0100 |
| 352 | #define MISDN_CTRL_FILL_EMPTY 0x0200 | ||
| 353 | #define MISDN_CTRL_GETPEER 0x0400 | ||
| 315 | #define MISDN_CTRL_HW_FEATURES_OP 0x2000 | 354 | #define MISDN_CTRL_HW_FEATURES_OP 0x2000 |
| 316 | #define MISDN_CTRL_HW_FEATURES 0x2001 | 355 | #define MISDN_CTRL_HW_FEATURES 0x2001 |
| 317 | #define MISDN_CTRL_HFC_OP 0x4000 | 356 | #define MISDN_CTRL_HFC_OP 0x4000 |
| @@ -362,6 +401,7 @@ struct mISDN_ctrl_req { | |||
| 362 | #define DEBUG_L2_TEI 0x00100000 | 401 | #define DEBUG_L2_TEI 0x00100000 |
| 363 | #define DEBUG_L2_TEIFSM 0x00200000 | 402 | #define DEBUG_L2_TEIFSM 0x00200000 |
| 364 | #define DEBUG_TIMER 0x01000000 | 403 | #define DEBUG_TIMER 0x01000000 |
| 404 | #define DEBUG_CLOCK 0x02000000 | ||
| 365 | 405 | ||
| 366 | #define mISDN_HEAD_P(s) ((struct mISDNhead *)&s->cb[0]) | 406 | #define mISDN_HEAD_P(s) ((struct mISDNhead *)&s->cb[0]) |
| 367 | #define mISDN_HEAD_PRIM(s) (((struct mISDNhead *)&s->cb[0])->prim) | 407 | #define mISDN_HEAD_PRIM(s) (((struct mISDNhead *)&s->cb[0])->prim) |
| @@ -375,6 +415,7 @@ struct mISDN_ctrl_req { | |||
| 375 | struct mISDNchannel; | 415 | struct mISDNchannel; |
| 376 | struct mISDNdevice; | 416 | struct mISDNdevice; |
| 377 | struct mISDNstack; | 417 | struct mISDNstack; |
| 418 | struct mISDNclock; | ||
| 378 | 419 | ||
| 379 | struct channel_req { | 420 | struct channel_req { |
| 380 | u_int protocol; | 421 | u_int protocol; |
| @@ -423,7 +464,6 @@ struct mISDN_sock { | |||
| 423 | struct mISDNdevice { | 464 | struct mISDNdevice { |
| 424 | struct mISDNchannel D; | 465 | struct mISDNchannel D; |
| 425 | u_int id; | 466 | u_int id; |
| 426 | char name[MISDN_MAX_IDLEN]; | ||
| 427 | u_int Dprotocols; | 467 | u_int Dprotocols; |
| 428 | u_int Bprotocols; | 468 | u_int Bprotocols; |
| 429 | u_int nrbchan; | 469 | u_int nrbchan; |
| @@ -452,6 +492,16 @@ struct mISDNstack { | |||
| 452 | #endif | 492 | #endif |
| 453 | }; | 493 | }; |
| 454 | 494 | ||
| 495 | typedef int (clockctl_func_t)(void *, int); | ||
| 496 | |||
| 497 | struct mISDNclock { | ||
| 498 | struct list_head list; | ||
| 499 | char name[64]; | ||
| 500 | int pri; | ||
| 501 | clockctl_func_t *ctl; | ||
| 502 | void *priv; | ||
| 503 | }; | ||
| 504 | |||
| 455 | /* global alloc/queue functions */ | 505 | /* global alloc/queue functions */ |
| 456 | 506 | ||
| 457 | static inline struct sk_buff * | 507 | static inline struct sk_buff * |
| @@ -498,12 +548,23 @@ _queue_data(struct mISDNchannel *ch, u_int prim, | |||
| 498 | 548 | ||
| 499 | /* global register/unregister functions */ | 549 | /* global register/unregister functions */ |
| 500 | 550 | ||
| 501 | extern int mISDN_register_device(struct mISDNdevice *, char *name); | 551 | extern int mISDN_register_device(struct mISDNdevice *, |
| 552 | struct device *parent, char *name); | ||
| 502 | extern void mISDN_unregister_device(struct mISDNdevice *); | 553 | extern void mISDN_unregister_device(struct mISDNdevice *); |
| 503 | extern int mISDN_register_Bprotocol(struct Bprotocol *); | 554 | extern int mISDN_register_Bprotocol(struct Bprotocol *); |
| 504 | extern void mISDN_unregister_Bprotocol(struct Bprotocol *); | 555 | extern void mISDN_unregister_Bprotocol(struct Bprotocol *); |
| 556 | extern struct mISDNclock *mISDN_register_clock(char *, int, clockctl_func_t *, | ||
| 557 | void *); | ||
| 558 | extern void mISDN_unregister_clock(struct mISDNclock *); | ||
| 559 | |||
| 560 | static inline struct mISDNdevice *dev_to_mISDN(struct device *dev) | ||
| 561 | { | ||
| 562 | return dev_get_drvdata(dev); | ||
| 563 | } | ||
| 505 | 564 | ||
| 506 | extern void set_channel_address(struct mISDNchannel *, u_int, u_int); | 565 | extern void set_channel_address(struct mISDNchannel *, u_int, u_int); |
| 566 | extern void mISDN_clock_update(struct mISDNclock *, int, struct timeval *); | ||
| 567 | extern unsigned short mISDN_clock_get(void); | ||
| 507 | 568 | ||
| 508 | #endif /* __KERNEL__ */ | 569 | #endif /* __KERNEL__ */ |
| 509 | #endif /* mISDNIF_H */ | 570 | #endif /* mISDNIF_H */ |
diff --git a/include/linux/mfd/wm8350/pmic.h b/include/linux/mfd/wm8350/pmic.h index 96acbfc8aa1..be3264e286e 100644 --- a/include/linux/mfd/wm8350/pmic.h +++ b/include/linux/mfd/wm8350/pmic.h | |||
| @@ -13,6 +13,10 @@ | |||
| 13 | #ifndef __LINUX_MFD_WM8350_PMIC_H | 13 | #ifndef __LINUX_MFD_WM8350_PMIC_H |
| 14 | #define __LINUX_MFD_WM8350_PMIC_H | 14 | #define __LINUX_MFD_WM8350_PMIC_H |
| 15 | 15 | ||
| 16 | #include <linux/platform_device.h> | ||
| 17 | #include <linux/leds.h> | ||
| 18 | #include <linux/regulator/machine.h> | ||
| 19 | |||
| 16 | /* | 20 | /* |
| 17 | * Register values. | 21 | * Register values. |
| 18 | */ | 22 | */ |
| @@ -700,6 +704,33 @@ struct wm8350; | |||
| 700 | struct platform_device; | 704 | struct platform_device; |
| 701 | struct regulator_init_data; | 705 | struct regulator_init_data; |
| 702 | 706 | ||
| 707 | /* | ||
| 708 | * WM8350 LED platform data | ||
| 709 | */ | ||
| 710 | struct wm8350_led_platform_data { | ||
| 711 | const char *name; | ||
| 712 | const char *default_trigger; | ||
| 713 | int max_uA; | ||
| 714 | }; | ||
| 715 | |||
| 716 | struct wm8350_led { | ||
| 717 | struct platform_device *pdev; | ||
| 718 | struct mutex mutex; | ||
| 719 | struct work_struct work; | ||
| 720 | spinlock_t value_lock; | ||
| 721 | enum led_brightness value; | ||
| 722 | struct led_classdev cdev; | ||
| 723 | int max_uA_index; | ||
| 724 | int enabled; | ||
| 725 | |||
| 726 | struct regulator *isink; | ||
| 727 | struct regulator_consumer_supply isink_consumer; | ||
| 728 | struct regulator_init_data isink_init; | ||
| 729 | struct regulator *dcdc; | ||
| 730 | struct regulator_consumer_supply dcdc_consumer; | ||
| 731 | struct regulator_init_data dcdc_init; | ||
| 732 | }; | ||
| 733 | |||
| 703 | struct wm8350_pmic { | 734 | struct wm8350_pmic { |
| 704 | /* Number of regulators of each type on this device */ | 735 | /* Number of regulators of each type on this device */ |
| 705 | int max_dcdc; | 736 | int max_dcdc; |
| @@ -717,10 +748,15 @@ struct wm8350_pmic { | |||
| 717 | 748 | ||
| 718 | /* regulator devices */ | 749 | /* regulator devices */ |
| 719 | struct platform_device *pdev[NUM_WM8350_REGULATORS]; | 750 | struct platform_device *pdev[NUM_WM8350_REGULATORS]; |
| 751 | |||
| 752 | /* LED devices */ | ||
| 753 | struct wm8350_led led[2]; | ||
| 720 | }; | 754 | }; |
| 721 | 755 | ||
| 722 | int wm8350_register_regulator(struct wm8350 *wm8350, int reg, | 756 | int wm8350_register_regulator(struct wm8350 *wm8350, int reg, |
| 723 | struct regulator_init_data *initdata); | 757 | struct regulator_init_data *initdata); |
| 758 | int wm8350_register_led(struct wm8350 *wm8350, int lednum, int dcdc, int isink, | ||
| 759 | struct wm8350_led_platform_data *pdata); | ||
| 724 | 760 | ||
| 725 | /* | 761 | /* |
| 726 | * Additional DCDC control not supported via regulator API | 762 | * Additional DCDC control not supported via regulator API |
diff --git a/include/linux/mm.h b/include/linux/mm.h index 4a3d28c8644..b91a73fd1bc 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
| @@ -56,19 +56,9 @@ extern unsigned long mmap_min_addr; | |||
| 56 | 56 | ||
| 57 | extern struct kmem_cache *vm_area_cachep; | 57 | extern struct kmem_cache *vm_area_cachep; |
| 58 | 58 | ||
| 59 | /* | ||
| 60 | * This struct defines the per-mm list of VMAs for uClinux. If CONFIG_MMU is | ||
| 61 | * disabled, then there's a single shared list of VMAs maintained by the | ||
| 62 | * system, and mm's subscribe to these individually | ||
| 63 | */ | ||
| 64 | struct vm_list_struct { | ||
| 65 | struct vm_list_struct *next; | ||
| 66 | struct vm_area_struct *vma; | ||
| 67 | }; | ||
| 68 | |||
| 69 | #ifndef CONFIG_MMU | 59 | #ifndef CONFIG_MMU |
| 70 | extern struct rb_root nommu_vma_tree; | 60 | extern struct rb_root nommu_region_tree; |
| 71 | extern struct rw_semaphore nommu_vma_sem; | 61 | extern struct rw_semaphore nommu_region_sem; |
| 72 | 62 | ||
| 73 | extern unsigned int kobjsize(const void *objp); | 63 | extern unsigned int kobjsize(const void *objp); |
| 74 | #endif | 64 | #endif |
| @@ -1061,6 +1051,7 @@ extern void memmap_init_zone(unsigned long, int, unsigned long, | |||
| 1061 | unsigned long, enum memmap_context); | 1051 | unsigned long, enum memmap_context); |
| 1062 | extern void setup_per_zone_pages_min(void); | 1052 | extern void setup_per_zone_pages_min(void); |
| 1063 | extern void mem_init(void); | 1053 | extern void mem_init(void); |
| 1054 | extern void __init mmap_init(void); | ||
| 1064 | extern void show_mem(void); | 1055 | extern void show_mem(void); |
| 1065 | extern void si_meminfo(struct sysinfo * val); | 1056 | extern void si_meminfo(struct sysinfo * val); |
| 1066 | extern void si_meminfo_node(struct sysinfo *val, int nid); | 1057 | extern void si_meminfo_node(struct sysinfo *val, int nid); |
| @@ -1072,6 +1063,9 @@ extern void setup_per_cpu_pageset(void); | |||
| 1072 | static inline void setup_per_cpu_pageset(void) {} | 1063 | static inline void setup_per_cpu_pageset(void) {} |
| 1073 | #endif | 1064 | #endif |
| 1074 | 1065 | ||
| 1066 | /* nommu.c */ | ||
| 1067 | extern atomic_t mmap_pages_allocated; | ||
| 1068 | |||
| 1075 | /* prio_tree.c */ | 1069 | /* prio_tree.c */ |
| 1076 | void vma_prio_tree_add(struct vm_area_struct *, struct vm_area_struct *old); | 1070 | void vma_prio_tree_add(struct vm_area_struct *, struct vm_area_struct *old); |
| 1077 | void vma_prio_tree_insert(struct vm_area_struct *, struct prio_tree_root *); | 1071 | void vma_prio_tree_insert(struct vm_area_struct *, struct prio_tree_root *); |
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 9cfc9b627fd..92915e81443 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h | |||
| @@ -97,6 +97,23 @@ struct page { | |||
| 97 | }; | 97 | }; |
| 98 | 98 | ||
| 99 | /* | 99 | /* |
| 100 | * A region containing a mapping of a non-memory backed file under NOMMU | ||
| 101 | * conditions. These are held in a global tree and are pinned by the VMAs that | ||
| 102 | * map parts of them. | ||
| 103 | */ | ||
| 104 | struct vm_region { | ||
| 105 | struct rb_node vm_rb; /* link in global region tree */ | ||
| 106 | unsigned long vm_flags; /* VMA vm_flags */ | ||
| 107 | unsigned long vm_start; /* start address of region */ | ||
| 108 | unsigned long vm_end; /* region initialised to here */ | ||
| 109 | unsigned long vm_top; /* region allocated to here */ | ||
| 110 | unsigned long vm_pgoff; /* the offset in vm_file corresponding to vm_start */ | ||
| 111 | struct file *vm_file; /* the backing file or NULL */ | ||
| 112 | |||
| 113 | atomic_t vm_usage; /* region usage count */ | ||
| 114 | }; | ||
| 115 | |||
| 116 | /* | ||
| 100 | * This struct defines a memory VMM memory area. There is one of these | 117 | * This struct defines a memory VMM memory area. There is one of these |
| 101 | * per VM-area/task. A VM area is any part of the process virtual memory | 118 | * per VM-area/task. A VM area is any part of the process virtual memory |
| 102 | * space that has a special rule for the page-fault handlers (ie a shared | 119 | * space that has a special rule for the page-fault handlers (ie a shared |
| @@ -152,7 +169,7 @@ struct vm_area_struct { | |||
| 152 | unsigned long vm_truncate_count;/* truncate_count or restart_addr */ | 169 | unsigned long vm_truncate_count;/* truncate_count or restart_addr */ |
| 153 | 170 | ||
| 154 | #ifndef CONFIG_MMU | 171 | #ifndef CONFIG_MMU |
| 155 | atomic_t vm_usage; /* refcount (VMAs shared if !MMU) */ | 172 | struct vm_region *vm_region; /* NOMMU mapping region */ |
| 156 | #endif | 173 | #endif |
| 157 | #ifdef CONFIG_NUMA | 174 | #ifdef CONFIG_NUMA |
| 158 | struct mempolicy *vm_policy; /* NUMA policy for the VMA */ | 175 | struct mempolicy *vm_policy; /* NUMA policy for the VMA */ |
diff --git a/include/linux/spi/tdo24m.h b/include/linux/spi/tdo24m.h new file mode 100644 index 00000000000..7572d4e1fe7 --- /dev/null +++ b/include/linux/spi/tdo24m.h | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | #ifndef __TDO24M_H__ | ||
| 2 | #define __TDO24M_H__ | ||
| 3 | |||
| 4 | enum tdo24m_model { | ||
| 5 | TDO24M, | ||
| 6 | TDO35S, | ||
| 7 | }; | ||
| 8 | |||
| 9 | struct tdo24m_platform_data { | ||
| 10 | enum tdo24m_model model; | ||
| 11 | }; | ||
| 12 | |||
| 13 | #endif /* __TDO24M_H__ */ | ||
