• Daniel Vetter's avatar
    PCI: Also set up legacy files only after sysfs init · efd532a6
    Daniel Vetter authored
    We are already doing this for all the regular sysfs files on PCI
    devices, but not yet on the legacy io files on the PCI buses. Thus far
    no problem, but in the next patch I want to wire up iomem revoke
    support. That needs the vfs up and running already to make sure that
    iomem_get_mapping() works.
    
    Wire it up exactly like the existing code in
    pci_create_sysfs_dev_files(). Note that pci_remove_legacy_files()
    doesn't need a check since the one for pci_bus->legacy_io is
    sufficient.
    
    An alternative solution would be to implement a callback in sysfs to
    set up the address space from iomem_get_mapping() when userspace calls
    mmap(). This also works, but Greg didn't really like that just to work
    around an ordering issue when the kernel loads initially.
    
    v2: Improve commit message (Bjorn)
    Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
    Cc: Stephen Rothwell <sfr@canb.auug.org.au>
    Cc: Jason Gunthorpe <jgg@ziepe.ca>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: John Hubbard <jhubbard@nvidia.com>
    Cc: Jérôme Glisse <jglisse@redhat.com>
    Cc: Jan Kara <jack@suse.cz>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: linux-mm@kvack.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-samsung-soc@vger.kernel.org
    Cc: linux-media@vger.kernel.org
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Cc: linux-pci@vger.kernel.org
    Link: https://patchwork.freedesktop.org/patch/msgid/20210205133632.2827730-1-daniel.vetter@ffwll.ch
    efd532a6
pci-sysfs.c 38.4 KB