diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2012-08-24 09:14:41 -0400 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2012-09-14 05:17:35 -0400 |
| commit | 1ef21f6343ff08309955d1ad56ad0f5504a4dd94 (patch) | |
| tree | f02e7c6c7bd8878ed5a40a40c368fa57117851ca /include/linux/platform_data | |
| parent | 82906b13a6f4f42edec92f0a3e480e1bdd9b3f91 (diff) | |
ARM: msm: move platform_data definitions
Platform data for device drivers should be defined in
include/linux/platform_data/*.h, not in the architecture
and platform specific directories.
This moves such data out of the msm include directories
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: David Brown <davidb@codeaurora.org>
Cc: Daniel Walker <dwalker@fifo99.com>
Cc: Bryan Huntsman <bryanh@codeaurora.org>
Cc: Chris Ball <cjb@laptop.org>
Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: linux-arm-msm@vger.kernel.org
Diffstat (limited to 'include/linux/platform_data')
| -rw-r--r-- | include/linux/platform_data/mmc-msm_sdcc.h | 30 | ||||
| -rw-r--r-- | include/linux/platform_data/video-msm_fb.h | 147 |
2 files changed, 177 insertions, 0 deletions
diff --git a/include/linux/platform_data/mmc-msm_sdcc.h b/include/linux/platform_data/mmc-msm_sdcc.h new file mode 100644 index 000000000000..ffcd9e3a6a7e --- /dev/null +++ b/include/linux/platform_data/mmc-msm_sdcc.h | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | /* | ||
| 2 | * arch/arm/include/asm/mach/mmc.h | ||
| 3 | */ | ||
| 4 | #ifndef ASMARM_MACH_MMC_H | ||
| 5 | #define ASMARM_MACH_MMC_H | ||
| 6 | |||
| 7 | #include <linux/mmc/host.h> | ||
| 8 | #include <linux/mmc/card.h> | ||
| 9 | #include <linux/mmc/sdio_func.h> | ||
| 10 | |||
| 11 | struct msm_mmc_gpio { | ||
| 12 | unsigned no; | ||
| 13 | const char *name; | ||
| 14 | }; | ||
| 15 | |||
| 16 | struct msm_mmc_gpio_data { | ||
| 17 | struct msm_mmc_gpio *gpio; | ||
| 18 | u8 size; | ||
| 19 | }; | ||
| 20 | |||
| 21 | struct msm_mmc_platform_data { | ||
| 22 | unsigned int ocr_mask; /* available voltages */ | ||
| 23 | u32 (*translate_vdd)(struct device *, unsigned int); | ||
| 24 | unsigned int (*status)(struct device *); | ||
| 25 | int (*register_status_notify)(void (*callback)(int card_present, void *dev_id), void *dev_id); | ||
| 26 | struct msm_mmc_gpio_data *gpio_data; | ||
| 27 | void (*init_card)(struct mmc_card *card); | ||
| 28 | }; | ||
| 29 | |||
| 30 | #endif | ||
diff --git a/include/linux/platform_data/video-msm_fb.h b/include/linux/platform_data/video-msm_fb.h new file mode 100644 index 000000000000..1f4fc81b3d8f --- /dev/null +++ b/include/linux/platform_data/video-msm_fb.h | |||
| @@ -0,0 +1,147 @@ | |||
| 1 | /* arch/arm/mach-msm/include/mach/msm_fb.h | ||
| 2 | * | ||
| 3 | * Internal shared definitions for various MSM framebuffer parts. | ||
| 4 | * | ||
| 5 | * Copyright (C) 2007 Google Incorporated | ||
| 6 | * | ||
| 7 | * This software is licensed under the terms of the GNU General Public | ||
| 8 | * License version 2, as published by the Free Software Foundation, and | ||
| 9 | * may be copied, distributed, and modified under those terms. | ||
| 10 | * | ||
| 11 | * This program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #ifndef _MSM_FB_H_ | ||
| 18 | #define _MSM_FB_H_ | ||
| 19 | |||
| 20 | #include <linux/device.h> | ||
| 21 | |||
| 22 | struct mddi_info; | ||
| 23 | |||
| 24 | struct msm_fb_data { | ||
| 25 | int xres; /* x resolution in pixels */ | ||
| 26 | int yres; /* y resolution in pixels */ | ||
| 27 | int width; /* disply width in mm */ | ||
| 28 | int height; /* display height in mm */ | ||
| 29 | unsigned output_format; | ||
| 30 | }; | ||
| 31 | |||
| 32 | struct msmfb_callback { | ||
| 33 | void (*func)(struct msmfb_callback *); | ||
| 34 | }; | ||
| 35 | |||
| 36 | enum { | ||
| 37 | MSM_MDDI_PMDH_INTERFACE, | ||
| 38 | MSM_MDDI_EMDH_INTERFACE, | ||
| 39 | MSM_EBI2_INTERFACE, | ||
| 40 | }; | ||
| 41 | |||
| 42 | #define MSMFB_CAP_PARTIAL_UPDATES (1 << 0) | ||
| 43 | |||
| 44 | struct msm_panel_data { | ||
| 45 | /* turns off the fb memory */ | ||
| 46 | int (*suspend)(struct msm_panel_data *); | ||
| 47 | /* turns on the fb memory */ | ||
| 48 | int (*resume)(struct msm_panel_data *); | ||
| 49 | /* turns off the panel */ | ||
| 50 | int (*blank)(struct msm_panel_data *); | ||
| 51 | /* turns on the panel */ | ||
| 52 | int (*unblank)(struct msm_panel_data *); | ||
| 53 | void (*wait_vsync)(struct msm_panel_data *); | ||
| 54 | void (*request_vsync)(struct msm_panel_data *, struct msmfb_callback *); | ||
| 55 | void (*clear_vsync)(struct msm_panel_data *); | ||
| 56 | /* from the enum above */ | ||
| 57 | unsigned interface_type; | ||
| 58 | /* data to be passed to the fb driver */ | ||
| 59 | struct msm_fb_data *fb_data; | ||
| 60 | |||
| 61 | /* capabilities supported by the panel */ | ||
| 62 | uint32_t caps; | ||
| 63 | }; | ||
| 64 | |||
| 65 | struct msm_mddi_client_data { | ||
| 66 | void (*suspend)(struct msm_mddi_client_data *); | ||
| 67 | void (*resume)(struct msm_mddi_client_data *); | ||
| 68 | void (*activate_link)(struct msm_mddi_client_data *); | ||
| 69 | void (*remote_write)(struct msm_mddi_client_data *, uint32_t val, | ||
| 70 | uint32_t reg); | ||
| 71 | uint32_t (*remote_read)(struct msm_mddi_client_data *, uint32_t reg); | ||
| 72 | void (*auto_hibernate)(struct msm_mddi_client_data *, int); | ||
| 73 | /* custom data that needs to be passed from the board file to a | ||
| 74 | * particular client */ | ||
| 75 | void *private_client_data; | ||
| 76 | struct resource *fb_resource; | ||
| 77 | /* from the list above */ | ||
| 78 | unsigned interface_type; | ||
| 79 | }; | ||
| 80 | |||
| 81 | struct msm_mddi_platform_data { | ||
| 82 | unsigned int clk_rate; | ||
| 83 | void (*power_client)(struct msm_mddi_client_data *, int on); | ||
| 84 | |||
| 85 | /* fixup the mfr name, product id */ | ||
| 86 | void (*fixup)(uint16_t *mfr_name, uint16_t *product_id); | ||
| 87 | |||
| 88 | struct resource *fb_resource; /*optional*/ | ||
| 89 | /* number of clients in the list that follows */ | ||
| 90 | int num_clients; | ||
| 91 | /* array of client information of clients */ | ||
| 92 | struct { | ||
| 93 | unsigned product_id; /* mfr id in top 16 bits, product id | ||
| 94 | * in lower 16 bits | ||
| 95 | */ | ||
| 96 | char *name; /* the device name will be the platform | ||
| 97 | * device name registered for the client, | ||
| 98 | * it should match the name of the associated | ||
| 99 | * driver | ||
| 100 | */ | ||
| 101 | unsigned id; /* id for mddi client device node, will also | ||
| 102 | * be used as device id of panel devices, if | ||
| 103 | * the client device will have multiple panels | ||
| 104 | * space must be left here for them | ||
| 105 | */ | ||
| 106 | void *client_data; /* required private client data */ | ||
| 107 | unsigned int clk_rate; /* optional: if the client requires a | ||
| 108 | * different mddi clk rate | ||
| 109 | */ | ||
| 110 | } client_platform_data[]; | ||
| 111 | }; | ||
| 112 | |||
| 113 | struct mdp_blit_req; | ||
| 114 | struct fb_info; | ||
| 115 | struct mdp_device { | ||
| 116 | struct device dev; | ||
| 117 | void (*dma)(struct mdp_device *mpd, uint32_t addr, | ||
| 118 | uint32_t stride, uint32_t w, uint32_t h, uint32_t x, | ||
| 119 | uint32_t y, struct msmfb_callback *callback, int interface); | ||
| 120 | void (*dma_wait)(struct mdp_device *mdp); | ||
| 121 | int (*blit)(struct mdp_device *mdp, struct fb_info *fb, | ||
| 122 | struct mdp_blit_req *req); | ||
| 123 | void (*set_grp_disp)(struct mdp_device *mdp, uint32_t disp_id); | ||
| 124 | }; | ||
| 125 | |||
| 126 | struct class_interface; | ||
| 127 | int register_mdp_client(struct class_interface *class_intf); | ||
| 128 | |||
| 129 | /**** private client data structs go below this line ***/ | ||
| 130 | |||
| 131 | struct msm_mddi_bridge_platform_data { | ||
| 132 | /* from board file */ | ||
| 133 | int (*init)(struct msm_mddi_bridge_platform_data *, | ||
| 134 | struct msm_mddi_client_data *); | ||
| 135 | int (*uninit)(struct msm_mddi_bridge_platform_data *, | ||
| 136 | struct msm_mddi_client_data *); | ||
| 137 | /* passed to panel for use by the fb driver */ | ||
| 138 | int (*blank)(struct msm_mddi_bridge_platform_data *, | ||
| 139 | struct msm_mddi_client_data *); | ||
| 140 | int (*unblank)(struct msm_mddi_bridge_platform_data *, | ||
| 141 | struct msm_mddi_client_data *); | ||
| 142 | struct msm_fb_data fb_data; | ||
| 143 | }; | ||
| 144 | |||
| 145 | |||
| 146 | |||
| 147 | #endif | ||
