Re: [PATCH 2/6] hpet: remove unused writeq/readq function definitions

From: Corentin Labbe
Date: Mon Mar 27 2017 - 03:53:53 EST


On Mon, Mar 27, 2017 at 07:49:34AM +0800, kbuild test robot wrote:
> Hi Corentin,
>
> [auto build test ERROR on char-misc/char-misc-testing]
> [also build test ERROR on v4.11-rc4 next-20170324]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>
> url: https://github.com/0day-ci/linux/commits/Corentin-Labbe/hpet-misc-fix/20170327-070101
> config: i386-randconfig-x017-201713 (attached as .config)
> compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
> reproduce:
> # save the attached .config to linux build tree
> make ARCH=i386
>
> All errors (new ones prefixed by >>):
>
> drivers//char/hpet.c: In function 'hpet_timer_set_irq':
> >> drivers//char/hpet.c:207:7: error: implicit declaration of function 'readq' [-Werror=implicit-function-declaration]
> v = (readq(&timer->hpet_config) & Tn_INT_ROUTE_CAP_MASK) >>
> ^~~~~
> drivers//char/hpet.c: In function 'hpet_release':
> >> drivers//char/hpet.c:413:2: error: implicit declaration of function 'writeq' [-Werror=implicit-function-declaration]
> writeq((readq(&timer->hpet_config) & ~Tn_INT_ENB_CNF_MASK),
> ^~~~~~
> cc1: some warnings being treated as errors
>
> vim +/readq +207 drivers//char/hpet.c
>
> 70ef6d59 Kevin Hao 2008-05-29 191 spin_lock_irq(&hpet_lock);
> 70ef6d59 Kevin Hao 2008-05-29 192 if (devp->hd_hdwirq) {
> 70ef6d59 Kevin Hao 2008-05-29 193 spin_unlock_irq(&hpet_lock);
> 70ef6d59 Kevin Hao 2008-05-29 194 return;
> 70ef6d59 Kevin Hao 2008-05-29 195 }
> 70ef6d59 Kevin Hao 2008-05-29 196
> 70ef6d59 Kevin Hao 2008-05-29 197 timer = devp->hd_timer;
> 70ef6d59 Kevin Hao 2008-05-29 198
> 70ef6d59 Kevin Hao 2008-05-29 199 /* we prefer level triggered mode */
> 70ef6d59 Kevin Hao 2008-05-29 200 v = readl(&timer->hpet_config);
> 70ef6d59 Kevin Hao 2008-05-29 201 if (!(v & Tn_INT_TYPE_CNF_MASK)) {
> 70ef6d59 Kevin Hao 2008-05-29 202 v |= Tn_INT_TYPE_CNF_MASK;
> 70ef6d59 Kevin Hao 2008-05-29 203 writel(v, &timer->hpet_config);
> 70ef6d59 Kevin Hao 2008-05-29 204 }
> 70ef6d59 Kevin Hao 2008-05-29 205 spin_unlock_irq(&hpet_lock);
> 70ef6d59 Kevin Hao 2008-05-29 206
> 70ef6d59 Kevin Hao 2008-05-29 @207 v = (readq(&timer->hpet_config) & Tn_INT_ROUTE_CAP_MASK) >>
> 70ef6d59 Kevin Hao 2008-05-29 208 Tn_INT_ROUTE_CAP_SHIFT;
> 70ef6d59 Kevin Hao 2008-05-29 209
> 70ef6d59 Kevin Hao 2008-05-29 210 /*
> 70ef6d59 Kevin Hao 2008-05-29 211 * In PIC mode, skip IRQ0-4, IRQ6-9, IRQ12-15 which is always used by
> 70ef6d59 Kevin Hao 2008-05-29 212 * legacy device. In IO APIC mode, we skip all the legacy IRQS.
> 70ef6d59 Kevin Hao 2008-05-29 213 */
> 70ef6d59 Kevin Hao 2008-05-29 214 if (acpi_irq_model == ACPI_IRQ_MODEL_PIC)
> 70ef6d59 Kevin Hao 2008-05-29 215 v &= ~0xf3df;
>
> :::::: The code at line 207 was first introduced by commit
> :::::: 70ef6d595b6e51618a0cbe44b848d8c9db11a010 x86: get irq for hpet timer
>
> :::::: TO: Kevin Hao <kexin.hao@xxxxxxxxxxxxx>
> :::::: CC: Ingo Molnar <mingo@xxxxxxx>
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation

Wrongly believed that x86 and x86_64 shared writeq/readq.
Sorry, I will drop this patch

Since the writeq/readq redefined is present in lots of other file, perhaps adding it to i386 could be done.

Regards