From: Randy Dunlap <randy.dunlap@xxxxxxxxxx> When CONFIG_PM is not enabled, tlg2300 has build errors, so handle that case, mostly via stubs. drivers/media/video/tlg2300/pd-alsa.c:237: error: 'struct poseidon' has no member named 'msg' drivers/media/video/tlg2300/pd-main.c:412: error: implicit declaration of function 'find_old_poseidon' drivers/media/video/tlg2300/pd-main.c:418: error: implicit declaration of function 'set_map_flags' drivers/media/video/tlg2300/pd-main.c:462: error: implicit declaration of function 'get_pd' Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Cc: Huang Shijie <shijie8@xxxxxxxxx> Cc: Kang Yong <kangyong@xxxxxxxxxxxx> Cc: Zhang Xiaobing <xbzhang@xxxxxxxxxxxx> --- drivers/media/video/tlg2300/pd-common.h | 4 ++++ drivers/media/video/tlg2300/pd-main.c | 19 ++++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) --- linux-next-20100212.orig/drivers/media/video/tlg2300/pd-common.h +++ linux-next-20100212/drivers/media/video/tlg2300/pd-common.h @@ -254,7 +254,11 @@ void destroy_video_device(struct video_d extern int debug_mode; void set_debug_mode(struct video_device *vfd, int debug_mode); +#ifdef CONFIG_PM #define in_hibernation(pd) (pd->msg.event == PM_EVENT_FREEZE) +#else +#define in_hibernation(pd) (0) +#endif #define get_pm_count(p) (atomic_read(&(p)->interface->pm_usage_cnt)) #define log(a, ...) printk(KERN_DEBUG "\t[ %s : %.3d ] "a"\n", \ --- linux-next-20100212.orig/drivers/media/video/tlg2300/pd-main.c +++ linux-next-20100212/drivers/media/video/tlg2300/pd-main.c @@ -255,6 +255,11 @@ out: return ret; } +static inline struct poseidon *get_pd(struct usb_interface *intf) +{ + return usb_get_intfdata(intf); +} + #ifdef CONFIG_PM /* one-to-one map : poseidon{} <----> usb_device{}'s port */ static inline void set_map_flags(struct poseidon *pd, struct usb_device *udev) @@ -303,11 +308,6 @@ static inline int is_working(struct pose return get_pm_count(pd) > 0; } -static inline struct poseidon *get_pd(struct usb_interface *intf) -{ - return usb_get_intfdata(intf); -} - static int poseidon_suspend(struct usb_interface *intf, pm_message_t msg) { struct poseidon *pd = get_pd(intf); @@ -366,6 +366,15 @@ static void hibernation_resume(struct wo if (pd->pm_resume) pd->pm_resume(pd); } +#else /* CONFIG_PM is not enabled: */ +static inline struct poseidon *find_old_poseidon(struct usb_device *udev) +{ + return NULL; +} + +static inline void set_map_flags(struct poseidon *pd, struct usb_device *udev) +{ +} #endif static bool check_firmware(struct usb_device *udev, int *down_firmware) -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html