我正在尝试为具有 void *指针的变量赋值。以下是我理解的最佳作业。 (不起作用)
void set_fb_video ()
{
goldfish_lcd.dev.(atmel_lcdfb_info*)platform_data->default_monspecs->modedb->xres = 10;
};
以下是头文件
中定义的结构的一部分标题文件
struct fb_videomode {
..
u32 xres;
..
};
struct fb_monspecs {
..
struct fb_videomode *modedb;
..
};
struct atmel_lcdfb_info;
struct atmel_lcdfb_info {
..
struct fb_monspecs *default_monspecs;
..
};
struct device {
..
void *platform_data;
..
};
struct platform_device {
..
struct device dev;
..
};
C档
struct fb_videomode at91_tft_vga_modes[] = {
..
.xres = 100,
..
};
struct fb_monspecs &at91fb_default_monspecs = {
..
.modedb = at91_tft_vga_modes,
..
};
struct atmel_lcdfb_info ek_lcdc_data = {
..
.default_monspecs = &at91fb_default_monspecs,
..
};
struct platform_device goldfish_lcd ={
..
.dev = {
..
.platform_data = &ek_lcdc_data,
},
..
};
非常感谢任何建议。
提前谢谢
答案 0 :(得分:2)
您的演员阵容位置不正确,并且您没有名为atmel_lcdfb_info
的类型:
((struct atmel_lcdfb_info*)goldfish_lcd.dev.platform_data)->default_monspecs->modedb->xres = 10;