Skip to contentSkip to conversation

staging: axis-fifo: remove driver

PATCH In review Arihan Bhor 4 participants 9 messages Jun 2 – Jun 3 Staging

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 staging: axis-fifo: remove driver

---
 drivers/staging/Kconfig                 |   2 -
 drivers/staging/Makefile                |   1 -
 drivers/staging/axis-fifo/Kconfig       |  12 -
 drivers/staging/axis-fifo/Makefile      |   2 -
 drivers/staging/axis-fifo/README        |   0
 drivers/staging/axis-fifo/axis-fifo.c   | 542 ------------------------
 drivers/staging/axis-fifo/axis-fifo.txt |  96 -----
 7 files changed, 655 deletions(-)
 delete mode 100644 drivers/staging/axis-fifo/Kconfig
 delete mode 100644 drivers/staging/axis-fifo/Makefile
 delete mode 100644 drivers/staging/axis-fifo/README
 delete mode 100644 drivers/staging/axis-fifo/axis-fifo.c
 delete mode 100644 drivers/staging/axis-fifo/axis-fifo.txt
drivers/staging/Kconfig +0 -2
index 2f92cd698..ad085c190 100644
@@ -44,8 +44,6 @@ source "drivers/staging/greybus/Kconfig"
 
 source "drivers/staging/vc04_services/Kconfig"
 
-source "drivers/staging/axis-fifo/Kconfig"
-
 source "drivers/staging/vme_user/Kconfig"
 
 endif # STAGING
drivers/staging/Makefile +0 -1
index f5b8876aa..20757e140 100644
@@ -12,4 +12,3 @@ obj-$(CONFIG_FB_TFT)		+= fbtft/
 obj-$(CONFIG_MOST)		+= most/
 obj-$(CONFIG_GREYBUS)		+= greybus/
 obj-$(CONFIG_BCM2835_VCHIQ)	+= vc04_services/
-obj-$(CONFIG_XIL_AXIS_FIFO)	+= axis-fifo/
drivers/staging/axis-fifo/Kconfig deleted +0 -12
deleted file mode 100644
index f180a8e9f..000000000
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# "Xilinx AXI-Stream FIFO IP core driver"
-#
-config XIL_AXIS_FIFO
-	tristate "Xilinx AXI-Stream FIFO IP core driver"
-	depends on OF && HAS_IOMEM
-	help
-	  This adds support for the Xilinx AXI-Stream FIFO IP core driver.
-	  The AXI Streaming FIFO allows memory mapped access to a AXI Streaming
-	  interface. The Xilinx AXI-Stream FIFO IP core can be used to interface
-	  to the AXI Ethernet without the need to use DMA.
drivers/staging/axis-fifo/Makefile deleted +0 -2
deleted file mode 100644
index c626005c9..000000000
@@ -1,2 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-obj-$(CONFIG_XIL_AXIS_FIFO) += axis-fifo.o
drivers/staging/axis-fifo/README deleted +0 -0
deleted file mode 100644
index e69de29bb..000000000
drivers/staging/axis-fifo/axis-fifo.c deleted +0 -542

542 lines not on this page · raw message

drivers/staging/axis-fifo/axis-fifo.txt deleted +0 -96

96 lines not on this page · raw message

Signature · 1 line
2.54.0
#1 lore raw
Quoted 2 lines · Arihan Bhor

---

I don't think we should delete this driver. From reading the git log, Ovidiu Panait was obviously using this code last year. Let's also add Jacob Feder, although he hasn't touched the code in 8 years, he still might know if there are other users.

Also no commit message.

regards,
dan carpenter

author
#2 lore raw
Quoted 7 lines · Dan Carpenter

On Tue, Jun 02, 2026 at 04:01:53PM +0530, Arihan Bhor wrote:

I don't think we should delete this driver. From reading the git log, Ovidiu Panait was obviously using this code last year. Let's also add Jacob Feder, although he hasn't touched the code in 8 years, he still might know if there are other users.

I could not find any user-space applications that depend on this driver.

https://lore.kernel.org/lkml/CAD03fjb=_kW9=q9YV4qnQ5GD=HMB5Bx7pf3+AFcgDR2gVc1V6Q@mail.gmail.com/
I was looking for any users of this driver on the linux-kernel, linux-staging, and linux-arm-kernel mailing lists as well as Jacob Feder, and received no replies since I posted it 1 day ago. If someone is using it or maintaining a proprietary app, they will complain and we can bring the driver back.

If someone is using it or maintaining a proprietary app, they will complain and we can bring
the driver back.

Quoted 1 line

Also no commit message.

Will add it in v2.

Either way, let's wait for Ovidiu to reply if he is still active, or for anyone on the mailing list who might be using this.

#3 lore raw
Quoted 9 lines · Grewstad
Quoted 7 lines · Dan Carpenter

On Tue, Jun 02, 2026 at 04:01:53PM +0530, Arihan Bhor wrote:

I don't think we should delete this driver. From reading the git log, Ovidiu Panait was obviously using this code last year. Let's also add Jacob Feder, although he hasn't touched the code in 8 years, he still might know if there are other users.

Quoted 7 lines

I could not find any user-space applications that depend on this driver.

https://lore.kernel.org/lkml/CAD03fjb=_kW9=q9YV4qnQ5GD=HMB5Bx7pf3+AFcgDR2gVc1V6Q@mail.gmail.com/
I was looking for any users of this driver on the linux-kernel, linux-staging, and linux-arm-kernel mailing lists as well as Jacob Feder, and received no replies since I posted it 1 day ago. If someone is using it or maintaining a proprietary app, they will complain and we can bring the driver back.

Here are people using it and running into issues in Jan 2025.
https://adaptivesupport.amd.com/s/question/0D54U00008zRBdISAW/vitis-is-not-creating-a-driver-entry-for-axififomm-43?language=zh_CN
Someone provides a work around:
https://adaptivesupport.amd.com/s/question/0D54U00008sLBuMSAW/how-to-use-the-axi-stream-fifo-drivers-xllfifoh-xllfifogc-etc-in-the-project?language=en_US
Then Ovidiu Panait fixed the bug in Sep by adding the correct compatible.

regards,
dan carpenter

#4 lore raw

Hi,

Quoted 18 lines · Dan Carpenter
Quoted 9 lines · Grewstad
Quoted 7 lines · Dan Carpenter

On Tue, Jun 02, 2026 at 04:01:53PM +0530, Arihan Bhor wrote:

I don't think we should delete this driver. From reading the git log, Ovidiu Panait was obviously using this code last year. Let's also add Jacob Feder, although he hasn't touched the code in 8 years, he still might know if there are other users.

Quoted 7 lines

I could not find any user-space applications that depend on this driver.

https://lore.kernel.org/lkml/CAD03fjb=_kW9=q9YV4qnQ5GD=HMB5Bx7pf3+AFcgDR2gVc1V6Q@mail.gmail.com/
I was looking for any users of this driver on the linux-kernel, linux-staging, and linux-arm-kernel mailing lists as well as Jacob Feder, and received no replies since I posted it 1 day ago. If someone is using it or maintaining a proprietary app, they will complain and we can bring the driver back.

Quoted 7 lines

Here are people using it and running into issues in Jan 2025.
https://adaptivesupport.amd.com/s/question/0D54U00008zRBdISAW/vitis-is-not-creating-a-driver-entry-for-axififomm-43?language=zh_CN
Someone provides a work around:
https://adaptivesupport.amd.com/s/question/0D54U00008sLBuMSAW/how-to-use-the-axi-stream-fifo-drivers-xllfifoh-xllfifogc-etc-in-the-project?language=en_US
Then Ovidiu Panait fixed the bug in Sep by adding the correct compatible.

I was using this driver to play around with an FPGA board I have (Arty Z7-20), so not for commercial purposes. This IP provides a convenient way to move data to/from a custom IP in the FPGA. I am using it mostly for testing.

I think there are no in-tree users mainly because the IP it talks to lives in the FPGA fabric, and drivers for custom FPGA IP blocks generally don't get upstreamed.

However, there is the problem of what subsystem this belongs to. It was suggested to be turned into a DMA controller to get it moved out of staging:
https://lore.kernel.org/all/20260227-unboxed-customary-7ce6eda1858c@spud/

But I am not sure that this fits as a DMA controller, as it has no DMA capabilities. The CPU moves every word individually to and from a register.

My understanding is that the real Xilinx dmaengine IP is drivers/dma/xilinx/xilinx_dma.c and this IP is just a simpler, register based alternative to move data between the CPU and the FPGA fabric.

Ovidiu

Quoted 2 lines

regards,
dan carpenter

author
#5 lore raw
Quoted 4 lines · Ovidiu Panait

I was using this driver to play around with an FPGA board I have (Arty Z7-20), so not for commercial purposes. This IP provides a convenient way to move data to/from a custom IP in the FPGA. I am using it mostly for testing.

Are you still using it?

Quoted 7 lines

I think there are no in-tree users mainly because the IP it talks to lives in the FPGA fabric, and drivers for custom FPGA IP blocks generally don't get upstreamed.

However, there is the problem of what subsystem this belongs to. It was suggested to be turned into a DMA controller to get it moved out of staging:
https://lore.kernel.org/all/20260227-unboxed-customary-7ce6eda1858c@spud/

This is the main reason i suggested its deletion. it is very difficult to group it into any particular subsystem because at a low level it is just a 'dumb buffer'. If we do not know its end users and which software uses it, it will probably be very difficult to move it out of staging.

Quoted 6 lines

Here are people using it and running into issues in Jan 2025.
https://adaptivesupport.amd.com/s/question/0D54U00008zRBdISAW/vitis-is-not-creating-a-driver-entry-for-axififomm-43?language=zh_CN
Someone provides a work around:
https://adaptivesupport.amd.com/s/question/0D54U00008sLBuMSAW/how-to-use-the-axi-stream-fifo-drivers-xllfifoh-xllfifogc-etc-in-the-project?language=en_US
Then Ovidiu Panait fixed the bug in Sep by adding the correct compatible.

There are obviously some users, but in my honest opinion too few, too minor and too unverified to justify its maintenance in the kernel, especially because we have no feedback loop for the development of the driver.

Quoted 2 lines

I ’ve gotten a few emails over the years from people using it, and there is also development happening in parallel on the original github repo:
https://github.com/jacobfeder/axisfifo

This project has basically ground to a halt now, three commits in 2025 and basically dead for a year now.

Thanks,
Arihan Bhor

Quoted 6 lines

But I am not sure that this fits as a DMA controller, as it has no DMA capabilities. The CPU moves every word individually to and from a register.

My understanding is that the real Xilinx dmaengine IP is drivers/dma/xilinx/xilinx_dma.c and this IP is just a simpler, register based alternative to move data between the CPU and the FPGA fabric.

author
#6 lore raw

Follow-up:
Worst-case scenario, a large group of people is using the driver, they will complain and we can always bring it back,

Thanks,
Arihan Bhor

Quoted 52 lines · Grewstad
Quoted 4 lines · Ovidiu Panait

I was using this driver to play around with an FPGA board I have (Arty Z7-20), so not for commercial purposes. This IP provides a convenient way to move data to/from a custom IP in the FPGA. I am using it mostly for testing.

Are you still using it?

Quoted 7 lines

I think there are no in-tree users mainly because the IP it talks to lives in the FPGA fabric, and drivers for custom FPGA IP blocks generally don't get upstreamed.

However, there is the problem of what subsystem this belongs to. It was suggested to be turned into a DMA controller to get it moved out of staging:
https://lore.kernel.org/all/20260227-unboxed-customary-7ce6eda1858c@spud/

This is the main reason i suggested its deletion. it is very difficult to group it into any particular subsystem because at a low level it is just a 'dumb buffer'. If we do not know its end users and which software uses it, it will probably be very difficult to move it out of staging.

Quoted 6 lines

Here are people using it and running into issues in Jan 2025.
https://adaptivesupport.amd.com/s/question/0D54U00008zRBdISAW/vitis-is-not-creating-a-driver-entry-for-axififomm-43?language=zh_CN
Someone provides a work around:
https://adaptivesupport.amd.com/s/question/0D54U00008sLBuMSAW/how-to-use-the-axi-stream-fifo-drivers-xllfifoh-xllfifogc-etc-in-the-project?language=en_US
Then Ovidiu Panait fixed the bug in Sep by adding the correct compatible.

There are obviously some users, but in my honest opinion too few, too minor and too unverified to justify its maintenance in the kernel, especially because we have no feedback loop for the development of the driver.

Quoted 2 lines

I ’ve gotten a few emails over the years from people using it, and there is also development happening in parallel on the original github repo:
https://github.com/jacobfeder/axisfifo

This project has basically ground to a halt now, three commits in 2025 and basically dead for a year now.

Thanks,
Arihan Bhor

Quoted 6 lines

But I am not sure that this fits as a DMA controller, as it has no DMA capabilities. The CPU moves every word individually to and from a register.

My understanding is that the real Xilinx dmaengine IP is drivers/dma/xilinx/xilinx_dma.c and this IP is just a simpler, register based alternative to move data between the CPU and the FPGA fabric.

author
#7 lore raw
In reply to Dan Carpenter

Adding Michal Simek, as he posted some relevant points in another thread.

Quoted 17 lines · Michal Simek

Hi,

On 6/1/26 09:15, Grewstad wrote:

It is clear that driver in current state can't be used with axi ethernet out of box because pretty much it is just about user interface for fifo via char device fops. But we are talking about the same IP used in specific scenario and this driver doesn't implement integration which can be used in ethernet driver.

I don't think you will find out any in-tree user because driver purpose is different. It is about providing a user way via char device to push data to axi streaming interface which can be consumed by user logic. It is generic way how to push data there without writing specialized kernel driver for custom HW. I think this is leaf driver which provide a way to axi fifo streaming interface

Quoted 6 lines

where stream is connected to custom HW which consumes it. I can understand that this can be very useful for a lot of people who wants to process data from user space via custom logic with using streaming interface.

And I don't have any issue to agree to move the driver out of staging to common location.

Thanks for letting me know. When you say common location, can you give your opinion on where it can be moved? We cannot find any user-space applications that use this driver, as you said it is a 'leaf driver'. Because of this, we do not know
how it is used, who the end users are and hence we dont know where it can be moved.

Thanks,
Arihan Bhor

Quoted 28 lines · Dan Carpenter
Quoted 9 lines · Grewstad
Quoted 7 lines · Dan Carpenter

On Tue, Jun 02, 2026 at 04:01:53PM +0530, Arihan Bhor wrote:

I don't think we should delete this driver. From reading the git log, Ovidiu Panait was obviously using this code last year. Let's also add Jacob Feder, although he hasn't touched the code in 8 years, he still might know if there are other users.

Quoted 7 lines

I could not find any user-space applications that depend on this driver.

https://lore.kernel.org/lkml/CAD03fjb=_kW9=q9YV4qnQ5GD=HMB5Bx7pf3+AFcgDR2gVc1V6Q@mail.gmail.com/
I was looking for any users of this driver on the linux-kernel, linux-staging, and linux-arm-kernel mailing lists as well as Jacob Feder, and received no replies since I posted it 1 day ago. If someone is using it or maintaining a proprietary app, they will complain and we can bring the driver back.

Here are people using it and running into issues in Jan 2025.
https://adaptivesupport.amd.com/s/question/0D54U00008zRBdISAW/vitis-is-not-creating-a-driver-entry-for-axififomm-43?language=zh_CN
Someone provides a work around:
https://adaptivesupport.amd.com/s/question/0D54U00008sLBuMSAW/how-to-use-the-axi-stream-fifo-drivers-xllfifoh-xllfifogc-etc-in-the-project?language=en_US
Then Ovidiu Panait fixed the bug in Sep by adding the correct compatible.

regards,
dan carpenter

#8 lore raw

+Lucas

Quoted 27 lines · Grewstad

Adding Michal Simek, as he posted some relevant points in another thread.

Quoted 17 lines · Michal Simek

Hi,

On 6/1/26 09:15, Grewstad wrote:

It is clear that driver in current state can't be used with axi ethernet out of box because pretty much it is just about user interface for fifo via char device fops. But we are talking about the same IP used in specific scenario and this driver doesn't implement integration which can be used in ethernet driver.

I don't think you will find out any in-tree user because driver purpose is different. It is about providing a user way via char device to push data to axi streaming interface which can be consumed by user logic. It is generic way how to push data there without writing specialized kernel driver for custom HW. I think this is leaf driver which provide a way to axi fifo streaming interface

Quoted 6 lines

where stream is connected to custom HW which consumes it. I can understand that this can be very useful for a lot of people who wants to process data from user space via custom logic with using streaming interface.

And I don't have any issue to agree to move the driver out of staging to common location.

Quoted 6 lines

Thanks for letting me know. When you say common location, can you give your opinion on where it can be moved? We cannot find any user-space applications that use this driver, as you said it is a 'leaf driver'. Because of this, we do not know
how it is used, who the end users are and hence we dont know where it can be moved.

We have drivers/misc/ for this purpose right?

There is attempt to move dt binding to yaml too but I can't see Lucas in this thread.
https://lore.kernel.org/all/[email protected]/

I was talking to our networking team and they have FIFO support on their plan with axi ethernet.

Just a summary I am not convinced that this driver is in a state to be removed.

Thanks,
Michal