On 21 September 2017 at 21:14, Arnd Bergmann arnd@arndb.de wrote:
On Thu, Sep 21, 2017 at 8:18 AM, Baolin Wang baolin.wang@linaro.org wrote:
static long snd_timer_user_ioctl_compat(struct file *file, unsigned int cmd, unsigned long arg) @@ -158,12 +151,10 @@ static long snd_timer_user_ioctl_compat(struct file *file, unsigned int cmd, uns return snd_timer_user_gparams_compat(file, argp); case SNDRV_TIMER_IOCTL_INFO32: return snd_timer_user_info_compat(file, argp);
case SNDRV_TIMER_IOCTL_STATUS32:
case SNDRV_TIMER_IOCTL_STATUS_COMPAT32: return snd_timer_user_status_compat(file, argp);
-#ifdef CONFIG_X86_X32
case SNDRV_TIMER_IOCTL_STATUS_X32:
return snd_timer_user_status_x32(file, argp);
-#endif /* CONFIG_X86_X32 */
case SNDRV_TIMER_IOCTL_STATUS_COMPAT64:
return snd_timer_user_status64(file, argp); }
I think the last line would fail to build since snd_timer_user_status64() is defined 'static' in a different file.
I saw the timer_compat.c file will be included into timer.c file, so I think it will not. (My arm32 platform can not build compat mode, but I will try again to make sure it can build successfully.)
Also, snd_timer_user_status_compat() seems to be the same as snd_timer_user_status32(), so I think you can redirect it the same way as snd_timer_user_status64 after making both functions globally visible.
OK. Let me check again.