Commit 38358415 authored by Ahmed S. Darwish's avatar Ahmed S. Darwish Committed by Greg Kroah-Hartman
Browse files

staging: gasket: TODO: re-implement using UIO

The gasket in-kernel framework, recently introduced under staging,
re-implements what is already long-time provided by the UIO
subsystem, with extra PCI BAR remapping and MSI conveniences.

Before moving it out of staging, make sure we add the new bits to
the UIO framework instead, then transform its signle client, the
Apex driver, to a proper UIO driver (uio_driver.h).

Link: https://lkml.kernel.org/r/20180828103817.GB1397@do-kernel



Signed-off-by: default avatarAhmed S. Darwish <darwish.07@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f8ff6b2d
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
This is a list of things that need to be done to get this driver out of the
staging directory.

- Implement the gasket framework's functionality through UIO instead of
  introducing a new user-space drivers framework that is quite similar.

  UIO provides the necessary bits to implement user-space drivers. Meanwhile
  the gasket APIs adds some extra conveniences like PCI BAR mapping, and
  MSI interrupts. Add these features to the UIO subsystem, then re-implement
  the Apex driver as a basic UIO driver instead (include/linux/uio_driver.h)

- Document sysfs files with Documentation/ABI/ entries.

- Use misc interface instead of major number for driver version description.

- Add descriptions of module_param's

- apex_get_status() should actually check status.

- "drivers" should never be dealing with "raw" sysfs calls or mess around with
  kobjects at all. The driver core should handle all of this for you
  automaically. There should not be a need for raw attribute macros.