Re: [PATCH 4/4] sh: machvec: remove custom ioport_{un,}map()

Geert Uytterhoeven <[email protected]>
Newsgroups gmane.linux.ports.sh.devel,gmane.linux.kernel
Message-ID <CAMuHMdXyLHitBWOMp74cqtJbSs6q_4sPOEee+x72tE-E2G-KWg@mail.gmail.com>
Hi Arnd,

On Wed, Sep 13, 2023 at 4:30 PM Arnd Bergmann <[email protected]> wrote:
> On Wed, Sep 13, 2023, at 16:13, Geert Uytterhoeven wrote:
> > On Wed, Sep 13, 2023 at 4:08 PM Arnd Bergmann <[email protected]> wrote:
> >> On Wed, Sep 13, 2023, at 14:32, Geert Uytterhoeven wrote:
> >> > On Wed, Aug 2, 2023 at 8:49 PM Arnd Bergmann <[email protected]> wrote:
> >>
> >> Do you have a link to that series? I don't understand why you'd
> >> want to enable GENERIC_IOMAP on sh, given that its PIO accesses
> >> are always memory mapped in the end.
> >
> > "[RESEND RFC PATCH 00/12] DeviceTree support for SH7751 based boards."
> > https://lore.kernel.org/linux-sh/[email protected]/
>
> Ok, thanks.
>
> > In the meantime, there is a v2, which I wasn't aware of when I wrote
> > my previous email, so perhaps my comment is no longer valid.
> > "[RFC PATCH v2 00/30] Device Tree support for SH7751 based board"
> > https://lore.kernel.org/linux-sh/[email protected]
>
> Right, it looks like the GENERIC_IOMAP part if gone from that
> series, and I also see that the PCI host bridge does not actually

No, 02/30 still enables it.

> map the port I/O window. That's usually fine because very few
> drivers actually need it, and it also means that there should be
> no need for GENERIC_IOMAP or the simpler alternative.
>
> The first version probably only did it accidentally, which is a
> common mistake, and I think the ones for hexagon, m68k, and
> mips can probably be removed as well with some simplifiations.

When not selecting GENERIC_IOMAP in v2, the build fails with:

sh4-linux-gnu-ld: lib/devres.o: in function `pcim_iomap_release':
devres.c:(.text+0x234): undefined reference to `pci_iounmap'
sh4-linux-gnu-ld: lib/devres.o: in function `pcim_iounmap':
devres.c:(.text+0x278): undefined reference to `pci_iounmap'
sh4-linux-gnu-ld: drivers/pci/quirks.o: in function `disable_igfx_irq':
quirks.c:(.text+0x1738): undefined reference to `pci_iounmap'
sh4-linux-gnu-ld: drivers/pci/quirks.o: in function
`quirk_switchtec_ntb_dma_alias':
quirks.c:(.text+0x1a04): undefined reference to `pci_iounmap'
sh4-linux-gnu-ld: drivers/pci/quirks.o: in function `reset_hinic_vf_dev':
quirks.c:(.text+0x2260): undefined reference to `pci_iounmap'

So I'm back to building the part of arch/sh/kernel/ioport.c
that provides sh_io_port_base...

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.