From: Yusuf Caglar Akyuz <cag...@bilkon-kontrol.com.tr> This commit fixes build errors related to VPBE drivers previously ported from 2.6.10 tree. Main changes are for:
* New header structure * Interrupt function definition changes. * Removing devfs calls and new class interface compatibility. Signed-off-by: Yusuf Caglar Akyuz <cag...@bilkon-kontrol.com.tr> --- drivers/media/video/davinci/davinci_enc_mngr.c | 69 +++++++++++------------- drivers/media/video/davinci/davinci_osd.c | 9 ++-- drivers/media/video/davinci/davinci_platform.c | 57 ++++++++++---------- drivers/media/video/davinci/vpbe_encoder.c | 11 ++-- drivers/video/davincifb.c | 28 ++++++---- include/media/davinci/davinci_enc.h | 4 +- include/media/davinci/davinci_enc_mngr.h | 9 ++-- include/media/davinci/davinci_platform.h | 5 -- include/video/davincifb_ioctl.h | 18 +++--- 9 files changed, 104 insertions(+), 106 deletions(-) diff --git a/drivers/media/video/davinci/davinci_enc_mngr.c b/drivers/media/video/davinci/davinci_enc_mngr.c index 48ffbaf..8ba08fe 100644 --- a/drivers/media/video/davinci/davinci_enc_mngr.c +++ b/drivers/media/video/davinci/davinci_enc_mngr.c @@ -18,16 +18,11 @@ */ #include <linux/kernel.h> -#include <linux/config.h> +#include <linux/autoconf.h> #include <linux/init.h> #include <linux/ctype.h> #include <linux/delay.h> #include <linux/device.h> -#include <asm/arch/hardware.h> -#include <asm/arch/mux.h> -#include <asm/arch/cpu.h> -#include <asm/arch/io.h> -#include <asm/io.h> #include <media/davinci/davinci_enc.h> #include <media/davinci/vid_encoder_types.h> #include <media/davinci/vid_encoder_if.h> @@ -56,7 +51,7 @@ extern char *davinci_modes[]; #ifdef CONFIG_SYSFS struct display_device { struct module *owner; - struct class_device class_dev; + struct device class_dev; int channel; }; @@ -65,7 +60,7 @@ static struct display_device *davinci_display_device[DAVINCI_ENC_MAX_CHANNELS]; #define to_display_dev(cdev) container_of(cdev, \ struct display_device, class_dev) -static void display_class_release(struct class_device *cdev) +static void display_class_release(struct device *cdev) { struct display_device *dev = to_display_dev(cdev); @@ -75,10 +70,10 @@ static void display_class_release(struct class_device *cdev) struct class display_class = { .name = "davinci_display", - .release = display_class_release, + .dev_release = display_class_release, }; -static ssize_t output_show(struct class_device *cdev, char *buf) +static ssize_t output_show(struct device *cdev, struct device_attribute *attr, char *buf) { char name[VID_ENC_NAME_MAX_CHARS]; struct display_device *dev = to_display_dev(cdev); @@ -95,7 +90,7 @@ static ssize_t output_show(struct class_device *cdev, char *buf) } static ssize_t -output_store(struct class_device *cdev, const char *buffer, size_t count) +output_store(struct device *cdev, struct device_attribute *attr, const char *buffer, size_t count) { struct display_device *dev = to_display_dev(cdev); char name[count]; @@ -113,7 +108,7 @@ output_store(struct class_device *cdev, const char *buffer, size_t count) return count; } -static ssize_t mode_show(struct class_device *cdev, char *buf) +static ssize_t mode_show(struct device *cdev, struct device_attribute *attr, char *buf) { struct display_device *dev = to_display_dev(cdev); struct vid_enc_mode_info mode_info; @@ -131,7 +126,7 @@ static ssize_t mode_show(struct class_device *cdev, char *buf) } static ssize_t -mode_store(struct class_device *cdev, const char *buffer, size_t count) +mode_store(struct device *cdev, struct device_attribute *attr, const char *buffer, size_t count) { struct display_device *dev = to_display_dev(cdev); char name[count]; @@ -157,13 +152,13 @@ mode_store(struct class_device *cdev, const char *buffer, size_t count) return count; } -static ssize_t enable_show(struct class_device *cdev, char *buf) +static ssize_t enable_show(struct device *cdev, struct device_attribute *attr, char *buf) { return 0; } static ssize_t -enable_store(struct class_device *cdev, const char *buffer, size_t count) +enable_store(struct device *cdev, struct device_attribute *attr, const char *buffer, size_t count) { struct display_device *dev = to_display_dev(cdev); int enable_output_state, ret; @@ -186,7 +181,7 @@ enable_store(struct class_device *cdev, const char *buffer, size_t count) } static ssize_t -control_store(struct class_device *cdev, const char *buffer, size_t count, +control_store(struct device *cdev, struct device_attribute *attr, const char *buffer, size_t count, u8 ctrl) { struct display_device *dev = to_display_dev(cdev); @@ -203,7 +198,7 @@ control_store(struct class_device *cdev, const char *buffer, size_t count, return ret; return count; } -static ssize_t control_show(struct class_device *cdev, char *buf, u8 ctrl) +static ssize_t control_show(struct device *cdev, struct device_attribute *attr, char *buf, u8 ctrl) { struct display_device *dev = to_display_dev(cdev); unsigned int p; @@ -221,31 +216,31 @@ static ssize_t control_show(struct class_device *cdev, char *buf, u8 ctrl) } static ssize_t -brightness_store(struct class_device *cdev, const char *buffer, size_t count) +brightness_store(struct device *cdev, struct device_attribute *attr, const char *buffer, size_t count) { - return control_store(cdev, buffer, count, VID_ENC_CTRL_BRIGHTNESS); + return control_store(cdev, attr, buffer, count, VID_ENC_CTRL_BRIGHTNESS); } -static ssize_t brightness_show(struct class_device *cdev, char *buf) +static ssize_t brightness_show(struct device *cdev, struct device_attribute *attr, char *buf) { - return control_show(cdev, buf, VID_ENC_CTRL_BRIGHTNESS); + return control_show(cdev, attr, buf, VID_ENC_CTRL_BRIGHTNESS); } static ssize_t -hue_store(struct class_device *cdev, const char *buffer, size_t count) +hue_store(struct device *cdev, struct device_attribute *attr, const char *buffer, size_t count) { - return control_store(cdev, buffer, count, VID_ENC_CTRL_HUE); + return control_store(cdev, attr, buffer, count, VID_ENC_CTRL_HUE); } -static ssize_t hue_show(struct class_device *cdev, char *buf) +static ssize_t hue_show(struct device *cdev, struct device_attribute *attr, char *buf) { - return control_show(cdev, buf, VID_ENC_CTRL_HUE); + return control_show(cdev, attr, buf, VID_ENC_CTRL_HUE); } static ssize_t -gain_store(struct class_device *cdev, const char *buffer, size_t count) +gain_store(struct device *cdev, struct device_attribute *attr, const char *buffer, size_t count) { - return control_store(cdev, buffer, count, VID_ENC_CTRL_GAIN); + return control_store(cdev, attr, buffer, count, VID_ENC_CTRL_GAIN); } -static ssize_t gain_show(struct class_device *cdev, char *buf) +static ssize_t gain_show(struct device *cdev, struct device_attribute *attr, char *buf) { - return control_show(cdev, buf, VID_ENC_CTRL_GAIN); + return control_show(cdev, attr, buf, VID_ENC_CTRL_GAIN); } #define DECLARE_ATTR(_name, _mode, _show, _store) \ @@ -255,7 +250,7 @@ static ssize_t gain_show(struct class_device *cdev, char *buf) .show = _show, \ .store = _store, \ } -static struct class_device_attribute bl_class_device_attributes[] = { +static struct device_attribute bl_class_device_attributes[] = { DECLARE_ATTR(output, S_IRWXUGO, output_show, output_store), DECLARE_ATTR(mode, S_IRWXUGO, mode_show, mode_store), DECLARE_ATTR(enable, S_IRWXUGO, enable_show, enable_store), @@ -277,23 +272,23 @@ static void *create_sysfs_files(int channel) dev->owner = THIS_MODULE; dev->channel = channel; dev->class_dev.class = &display_class; - snprintf(dev->class_dev.class_id, BUS_ID_SIZE, "ch%d", channel); + dev_set_name(&dev->class_dev, "ch%d", channel); - ret = class_device_register(&dev->class_dev); + ret = device_register(&dev->class_dev); if (ret < 0) { kfree(dev); return NULL; } for (i = 0; i < ARRAY_SIZE(bl_class_device_attributes); i++) { - ret = class_device_create_file(&dev->class_dev, + ret = device_create_file(&dev->class_dev, &bl_class_device_attributes[i]); if (ret < 0) { while (--i >= 0) - class_device_remove_file(&dev->class_dev, + device_remove_file(&dev->class_dev, &bl_class_device_attributes [i]); - class_device_unregister(&dev->class_dev); + device_unregister(&dev->class_dev); return NULL; } } @@ -306,10 +301,10 @@ static void remove_sysfs_files(struct display_device *dev) int i; for (i = 0; i < ARRAY_SIZE(bl_class_device_attributes); i++) - class_device_remove_file(&dev->class_dev, + device_remove_file(&dev->class_dev, &bl_class_device_attributes[i]); - class_device_unregister(&dev->class_dev); + device_unregister(&dev->class_dev); } #endif diff --git a/drivers/media/video/davinci/davinci_osd.c b/drivers/media/video/davinci/davinci_osd.c index a0977fa..dfe4ed7 100644 --- a/drivers/media/video/davinci/davinci_osd.c +++ b/drivers/media/video/davinci/davinci_osd.c @@ -14,8 +14,9 @@ #include <linux/interrupt.h> #include <video/davinci_vpbe.h> #include <video/davinci_osd.h> -#include <asm/arch/io.h> -#include <asm/arch/cpu.h> +#include <linux/io.h> +#include <mach/io.h> +#include <mach/cputype.h> /* parameters that apply on a per-window (OSD or video) basis */ struct davinci_window_state { @@ -122,7 +123,7 @@ static __inline__ u32 osd_merge(u32 mask, u32 val, u32 offset) #define MAX_LINE_LENGTH (OSD_VIDWIN0OFST_V0LO << 5) /* interrupt service routine */ -static irqreturn_t davinci_disp_isr(int irq, void *arg, struct pt_regs *regs) +static irqreturn_t davinci_disp_isr(int irq, void *arg) { unsigned event = 0; struct davinci_disp_callback *callback = osd->callback; @@ -2028,7 +2029,7 @@ int davinci_disp_init(void) davinci_disp_init_layer(WIN_VID1); if (request_irq - (osd->irq, davinci_disp_isr, SA_SHIRQ, "davinci_osd", osd)) + (osd->irq, davinci_disp_isr, IRQF_SHARED, "davinci_osd", osd)) return -1; return 0; diff --git a/drivers/media/video/davinci/davinci_platform.c b/drivers/media/video/davinci/davinci_platform.c index df49e99..48df2db 100644 --- a/drivers/media/video/davinci/davinci_platform.c +++ b/drivers/media/video/davinci/davinci_platform.c @@ -17,16 +17,15 @@ */ #include <linux/kernel.h> -#include <linux/config.h> #include <linux/init.h> #include <linux/ctype.h> #include <linux/delay.h> #include <linux/device.h> -#include <asm/arch/hardware.h> -#include <asm/arch/mux.h> -#include <asm/arch/cpu.h> -#include <asm/arch/io.h> -#include <asm/io.h> +#include <mach/hardware.h> +#include <mach/mux.h> +#include <mach/cputype.h> +#include <linux/io.h> +#include <mach/io.h> #include <media/davinci/davinci_enc.h> #include <media/davinci/vid_encoder_types.h> #include <video/davinci_vpbe.h> @@ -34,6 +33,9 @@ #include <media/davinci/davinci_enc_mngr.h> #include <media/davinci/davinci_platform.h> +#define DM644X_DDR2_CNTL_BASE (0x20000000) +//#define davinci_cfg_reg(x) davinci_mux_peripheral(x, 1) + extern struct vid_enc_device_mgr enc_dev[]; struct enc_config davinci_enc_default[DAVINCI_ENC_MAX_CHANNELS] = { @@ -164,7 +166,7 @@ static void davinci_enc_get_basep(int channel, unsigned *basepx, struct system_device { struct module *owner; - struct class_device class_dev; + struct device class_dev; }; static struct system_device *davinci_system_device; @@ -172,7 +174,7 @@ static struct system_device *davinci_system_device; #define to_system_dev(cdev) container_of(cdev, \ struct system_device, class_dev) -static void davinci_system_class_release(struct class_device *cdev) +static void davinci_system_class_release(struct device *cdev) { struct system_device *dev = to_system_dev(cdev); @@ -184,11 +186,11 @@ static void __iomem *display_cntl_base; struct class davinci_system_class = { .name = "davinci_system", - .release = davinci_system_class_release, + .dev_release = davinci_system_class_release, }; static ssize_t -reg_store(struct class_device *cdev, const char *buffer, size_t count) +reg_store(struct device *cdev, struct device_attribute *attr, const char *buffer, size_t count) { char *str = 0; char *bufv = 0; @@ -237,12 +239,12 @@ reg_store(struct class_device *cdev, const char *buffer, size_t count) return count; } -static ssize_t reg_show(struct class_device *cdev, char *buf) +static ssize_t reg_show(struct device *cdev, struct device_attribute *attr, char *buf) { return 0; } -static ssize_t osd_basepx_show(struct class_device *cdev, char *buf) +static ssize_t osd_basepx_show(struct device *cdev, char *buf) { unsigned int basepx, basepy; int p; @@ -252,7 +254,7 @@ static ssize_t osd_basepx_show(struct class_device *cdev, char *buf) return p; } -static ssize_t osd_basepx_store(struct class_device *cdev, const char *buffer, +static ssize_t osd_basepx_store(struct device *cdev, struct device_attribute *attr, const char *buffer, size_t count) { unsigned int basepx, basepy; @@ -277,7 +279,7 @@ static ssize_t osd_basepx_store(struct class_device *cdev, const char *buffer, return count; } -static ssize_t osd_basepy_show(struct class_device *cdev, char *buf) +static ssize_t osd_basepy_show(struct device *cdev, struct device_attribute *attr, char *buf) { unsigned int basepx, basepy; int p; @@ -287,7 +289,7 @@ static ssize_t osd_basepy_show(struct class_device *cdev, char *buf) return p; } -static ssize_t osd_basepy_store(struct class_device *cdev, const char *buffer, +static ssize_t osd_basepy_store(struct device *cdev, struct device_attribute *attr, const char *buffer, size_t count) { unsigned int basepx, basepy; @@ -313,19 +315,18 @@ static ssize_t osd_basepy_store(struct class_device *cdev, const char *buffer, } #define DECLARE_ATTR(_name, _mode, _show, _store) { \ - .attr = { .name = __stringify(_name), .mode = _mode, \ - .owner = THIS_MODULE }, \ + .attr = { .name = __stringify(_name), .mode = _mode}, \ .show = _show, \ .store = _store,} - -static struct class_device_attribute system_class_device_attributes[] = { +static struct device_attribute system_class_device_attributes[] = { DECLARE_ATTR(reg, S_IRWXUGO, reg_show, reg_store), DECLARE_ATTR(vpbe_osd_basepx, S_IRWXUGO, osd_basepx_show, - osd_basepx_store), + osd_basepx_store), DECLARE_ATTR(vpbe_osd_basepy, S_IRWXUGO, osd_basepy_show, - osd_basepy_store) + osd_basepy_store), }; + static void *create_sysfs_files(void) { struct system_device *dev; @@ -338,8 +339,8 @@ static void *create_sysfs_files(void) dev->owner = THIS_MODULE; dev->class_dev.class = &davinci_system_class; - snprintf(dev->class_dev.class_id, BUS_ID_SIZE, "system"); - ret = class_device_register(&dev->class_dev); + dev_set_name(&dev->class_dev, "system"); + ret = device_register(&dev->class_dev); if (ret < 0) { printk(KERN_ERR "Error in class_device_register\n"); kfree(dev); @@ -347,14 +348,14 @@ static void *create_sysfs_files(void) } for (i = 0; i < ARRAY_SIZE(system_class_device_attributes); i++) { - ret = class_device_create_file(&dev->class_dev, + ret = device_create_file(&dev->class_dev, &system_class_device_attributes [i]); if (ret < 0) { while (--i >= 0) - class_device_remove_file(&dev->class_dev, + device_remove_file(&dev->class_dev, &system_class_device_attributes[i]); - class_device_unregister(&dev->class_dev); + device_unregister(&dev->class_dev); printk(KERN_ERR "Error in class_device_create_file\n"); return NULL; } @@ -368,10 +369,10 @@ static void remove_sysfs_files(struct system_device *dev) int i; for (i = 0; i < ARRAY_SIZE(system_class_device_attributes); i++) - class_device_remove_file(&dev->class_dev, + device_remove_file(&dev->class_dev, &system_class_device_attributes[i]); - class_device_unregister(&dev->class_dev); + device_unregister(&dev->class_dev); } #endif diff --git a/drivers/media/video/davinci/vpbe_encoder.c b/drivers/media/video/davinci/vpbe_encoder.c index 1d10b2c..0a92341 100644 --- a/drivers/media/video/davinci/vpbe_encoder.c +++ b/drivers/media/video/davinci/vpbe_encoder.c @@ -20,16 +20,17 @@ /* Kernel Specific header files */ #include <linux/kernel.h> -#include <linux/config.h> +#include <linux/autoconf.h> #include <linux/init.h> #include <linux/ctype.h> #include <linux/delay.h> #include <video/davinci_vpbe.h> #include <media/davinci/vid_encoder_if.h> #include <media/davinci/vpbe_encoder.h> -#include <asm/arch/hardware.h> -#include <asm/arch/io.h> -#include <asm/arch/cpu.h> +#include <mach/hardware.h> +#include <linux/io.h> +#include <mach/io.h> +#include <mach/cputype.h> struct vpbe_encoder_params { int outindex; @@ -661,7 +662,7 @@ static void vpbe_encoder_cleanup(void) vid_enc_unregister_encoder(&vpbe_encoder_dev); } -subsys_initcall(vpbe_encoder_init); +subsys_initcall_sync(vpbe_encoder_init); module_exit(vpbe_encoder_cleanup); MODULE_LICENSE("GPL"); diff --git a/drivers/video/davincifb.c b/drivers/video/davincifb.c index 61a6bef..ec16aeb 100644 --- a/drivers/video/davincifb.c +++ b/drivers/video/davincifb.c @@ -30,6 +30,7 @@ #include <linux/fb.h> #include <linux/init.h> #include <linux/dma-mapping.h> +#include <linux/platform_device.h> #include <asm/uaccess.h> #include <linux/moduleparam.h> /* for module_param() */ #include <asm/system.h> @@ -39,7 +40,7 @@ #include <media/davinci/davinci_enc.h> #include <video/davincifb_ioctl.h> #include <video/davincifb.h> -#include <asm/arch/cpu.h> +#include <mach/cputype.h> /* return non-zero if the info structure corresponds to OSD0 or OSD1 */ static int is_osd_win(const struct fb_info *info) @@ -1254,9 +1255,8 @@ static int vpbe_set_cursor_params(struct fb_info *info, /* * fb_ioctl method */ -static int -davincifb_ioctl(struct inode *inode, struct file *file, unsigned int cmd, - unsigned long arg, struct fb_info *info) +static int davincifb_ioctl(struct fb_info *info, unsigned int cmd, + unsigned long arg) { struct vpbe_dm_win_info *win = info->par; void __user *argp = (void __user *)arg; @@ -1706,7 +1706,9 @@ static struct fb_ops davincifb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, +#ifdef CONFIG_FB_SOFT_CURSOR .fb_cursor = soft_cursor, +#endif .fb_rotate = NULL, .fb_sync = NULL, .fb_ioctl = davincifb_ioctl, @@ -1862,8 +1864,9 @@ static int davincifb_init_window(struct device *dev, return err; } -static int davincifb_remove(struct device *dev) +static int davincifb_remove(struct platform_device *pdev) { + struct device *dev = &pdev->dev; struct vpbe_dm_info *dm = dev_get_drvdata(dev); dev_set_drvdata(dev, NULL); @@ -2144,8 +2147,9 @@ static char *options = ""; module_param(options, charp, S_IRUGO); -static int davincifb_probe(struct device *dev) +static int davincifb_probe(struct platform_device *pdev) { + struct device *dev = &pdev->dev; struct vpbe_dm_info *dm; struct davinci_layer_config lconfig; unsigned fb_size; @@ -2252,13 +2256,15 @@ static struct platform_device davincifb_device = { .num_resources = 0, }; -static struct device_driver davincifb_driver = { - .name = DAVINCIFB_NAME, - .bus = &platform_bus_type, +static struct platform_driver davincifb_driver = { .probe = davincifb_probe, .remove = davincifb_remove, .suspend = NULL, .resume = NULL, + .driver = { + .name = DAVINCIFB_NAME, + .owner = THIS_MODULE, + }, }; static int __init davincifb_init(void) @@ -2287,7 +2293,7 @@ static int __init davincifb_init(void) return -ENODEV; } /* Register the driver with LDM */ - if (driver_register(&davincifb_driver)) { + if (platform_driver_register(&davincifb_driver)) { dev_err(dev, "failed to register davincifb driver\n"); platform_device_unregister(&davincifb_device); return -ENODEV; @@ -2297,7 +2303,7 @@ static int __init davincifb_init(void) static void __exit davincifb_cleanup(void) { - driver_unregister(&davincifb_driver); + platform_driver_unregister(&davincifb_driver); platform_device_unregister(&davincifb_device); } diff --git a/include/media/davinci/davinci_enc.h b/include/media/davinci/davinci_enc.h index 5285d36..f6e01b9 100644 --- a/include/media/davinci/davinci_enc.h +++ b/include/media/davinci/davinci_enc.h @@ -31,7 +31,6 @@ #define DAVINCI_ENC_H #ifdef __KERNEL__ -#include <linux/config.h> #include <media/davinci/vid_encoder_types.h> /** @@ -39,7 +38,8 @@ * If a platform support multiple channel, this needs to be changed. Channel * number starts with 0 */ -#define DAVINCI_ENC_MAX_CHANNELS CONFIG_ENC_MNGR_MAX_CHANNELS +#define DAVINCI_ENC_MAX_CHANNELS 1 +//CONFIG_ENC_MNGR_MAX_CHANNELS /** * function davinci_enc_setparams diff --git a/include/media/davinci/davinci_enc_mngr.h b/include/media/davinci/davinci_enc_mngr.h index 6b67f01..b1040d0 100644 --- a/include/media/davinci/davinci_enc_mngr.h +++ b/include/media/davinci/davinci_enc_mngr.h @@ -21,15 +21,14 @@ #define DAVINCI_ENC_MNGR_H #include <linux/kernel.h> -#include <linux/config.h> #include <linux/init.h> #include <linux/ctype.h> #include <linux/delay.h> #include <linux/device.h> -#include <asm/arch/hardware.h> -#include <asm/arch/mux.h> -#include <asm/arch/cpu.h> -#include <asm/arch/io.h> +#include <mach/hardware.h> +#include <mach/mux.h> +#include <mach/cputype.h> +#include <mach/io.h> #include <media/davinci/davinci_enc.h> #include <media/davinci/vid_encoder_types.h> #include <video/davinci_vpbe.h> diff --git a/include/media/davinci/davinci_platform.h b/include/media/davinci/davinci_platform.h index 084f2d3..b0ec27f 100644 --- a/include/media/davinci/davinci_platform.h +++ b/include/media/davinci/davinci_platform.h @@ -19,15 +19,10 @@ #ifndef DAVINCI_PLATFORM_H #define DAVINCI_PLATFORM_H #include <linux/kernel.h> -#include <linux/config.h> #include <linux/init.h> #include <linux/ctype.h> #include <linux/delay.h> #include <linux/device.h> -#include <asm/arch/hardware.h> -#include <asm/arch/mux.h> -#include <asm/arch/cpu.h> -#include <asm/arch/io.h> #include <media/davinci/davinci_enc.h> #include <media/davinci/vid_encoder_types.h> #include <video/davinci_vpbe.h> diff --git a/include/video/davincifb_ioctl.h b/include/video/davincifb_ioctl.h index 445138e..cb533e3 100644 --- a/include/video/davincifb_ioctl.h +++ b/include/video/davincifb_ioctl.h @@ -142,25 +142,25 @@ typedef struct vpbe_window_position { #define FBIO_ENABLE_DISABLE_WIN \ _IOW('F', 0x30, unsigned char) #define FBIO_SET_BITMAP_BLEND_FACTOR \ - _IOW('F', 0x31, sizeof(vpbe_bitmap_blend_params_t)) + _IOW('F', 0x31, vpbe_bitmap_blend_params_t) #define FBIO_SET_BITMAP_WIN_RAM_CLUT \ - _IOW('F', 0x32, sizeof(unsigned char)*RAM_CLUT_SIZE) + _IOW('F', 0x32, unsigned char[RAM_CLUT_SIZE]) #define FBIO_ENABLE_DISABLE_ATTRIBUTE_WIN \ _IOW('F', 0x33, unsigned int) #define FBIO_GET_BLINK_INTERVAL \ - _IOR('F', 0x34, sizeof(vpbe_blink_option_t)) + _IOR('F', 0x34, vpbe_blink_option_t) #define FBIO_SET_BLINK_INTERVAL \ - _IOW('F', 0x35, sizeof(vpbe_blink_option_t)) + _IOW('F', 0x35, vpbe_blink_option_t) #define FBIO_GET_VIDEO_CONFIG_PARAMS \ - _IOR('F', 0x36, sizeof(vpbe_video_config_params_t)) + _IOR('F', 0x36, vpbe_video_config_params_t) #define FBIO_SET_VIDEO_CONFIG_PARAMS \ - _IOW('F', 0x37, sizeof(vpbe_video_config_params_t)) + _IOW('F', 0x37, vpbe_video_config_params_t) #define FBIO_GET_BITMAP_CONFIG_PARAMS \ - _IOR('F', 0x38, sizeof(vpbe_bitmap_config_params_t)) + _IOR('F', 0x38, vpbe_bitmap_config_params_t) #define FBIO_SET_BITMAP_CONFIG_PARAMS \ - _IOW('F', 0x39, sizeof(vpbe_bitmap_config_params_t)) + _IOW('F', 0x39, vpbe_bitmap_config_params_t) #define FBIO_SET_BACKG_COLOR \ - _IOW('F', 0x47, sizeof(vpbe_backg_color_t)) + _IOW('F', 0x47, vpbe_backg_color_t) #define FBIO_SETPOS \ _IOW('F', 0x49, u_int32_t) #define FBIO_SET_CURSOR \ -- 1.5.6 _______________________________________________ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source