• Arnd Bergmann's avatar
    m68knommu: only set CONFIG_ISA_DMA_API for ColdFire sub-arch · db87db65
    Arnd Bergmann authored
    > Hi Arnd,
    >
    > First bad commit (maybe != root cause):
    >
    > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
    > head:   2f73937c9aa561e2082839bc1a8efaac75d6e244
    > commit: 47fd22f2 [4771/5318] cs89x0: rework driver configuration
    > config: m68k-randconfig-c003-20210804 (attached as .config)
    > compiler: m68k-linux-gcc (GCC) 10.3.0
    > reproduce (this is a W=1 build):
    >         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
    >         chmod +x ~/bin/make.cross
    >         # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=47fd22f2b84765a2f7e3f150282497b902624547
    >         git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
    >         git fetch --no-tags linux-next master
    >         git checkout 47fd22f2
    >         # save the attached .config to linux build tree
    >         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=m68k
    >
    > If you fix the issue, kindly add following tag as appropriate
    > Reported-by: kernel test robot <lkp@intel.com>
    >
    > All errors (new ones prefixed by >>):
    >
    >    In file included from include/linux/kernel.h:19,
    >                     from include/linux/list.h:9,
    >                     from include/linux/module.h:12,
    >                     from drivers/net/ethernet/cirrus/cs89x0.c:51:
    >    drivers/net/ethernet/cirrus/cs89x0.c: In function 'net_open':
    >    drivers/net/ethernet/cirrus/cs89x0.c:897:20: error: implicit declaration of function 'isa_virt_to_bus'; did you mean 'virt_to_bus'? [-Werror=implicit-function-declaration]
    >      897 |     (unsigned long)isa_virt_to_bus(lp->dma_buff));
    >          |                    ^~~~~~~~~~~~~~~
    >    include/linux/printk.h:141:17: note: in definition of macro 'no_printk'
    >      141 |   printk(fmt, ##__VA_ARGS__);  \
    >          |                 ^~~~~~~~~~~
    >    drivers/net/ethernet/cirrus/cs89x0.c:86:3: note: in expansion of macro 'pr_debug'
    >       86 |   pr_##level(fmt, ##__VA_ARGS__);   \
    >          |   ^~~
    >    drivers/net/ethernet/cirrus/cs89x0.c:894:3: note: in expansion of macro 'cs89_dbg'
    >      894 |   cs89_dbg(1, debug, "%s: dma %lx %lx\n",
    >          |   ^~~~~~~~
    > >> drivers/net/ethernet/cirrus/cs89x0.c:914:3: error: implicit declaration of function 'disable_dma'; did you mean 'disable_irq'? [-Werror=implicit-function-declaration]
    
    As far as I can tell, this is a bug with the m68kmmu architecture, not
    with my driver:
    The CONFIG_ISA_DMA_API option is provided for coldfire, which implements it,
    but dragonball also sets the option as a side-effect, without actually
    implementing
    the interfaces. The patch below should fix it.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarGreg Ungerer <gerg@linux-m68k.org>
    db87db65
Kconfig.bus 1.89 KB