#
+```shell
+Architecture: aarch64
+ CPU op-mode(s): 32-bit, 64-bit
+ Byte Order: Little Endian
+CPU(s): 4
+ On-line CPU(s) list: 0-3
+Vendor ID: ARM
+ Model name: Cortex-A72
+ Model: 3
+ Thread(s) per core: 1
+ Core(s) per cluster: 4
+ Socket(s): -
+ Cluster(s): 1
+ Stepping: r0p3
+ CPU(s) scaling MHz: 33%
+ CPU max MHz: 1800.0000
+ CPU min MHz: 600.0000
+ BogoMIPS: 108.00
+ Flags: fp asimd evtstrm crc32 cpuid
+
+```
+
+
+#
+
+```shell
+seantywork@raspberrypi:~/hack/linux/linuxyz/kgpio-irqsock $ uname -a
+Linux raspberrypi 6.12.25+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.25-1+rpt1 (2025-04-30) aarch64 GNU/Linux
+
+```
+
+#
+```shell
+
+seantywork@raspberrypi:~/hack/linux/linuxyz/kgpio-irqsock $ make
+make -C /lib/modules/6.12.25+rpt-rpi-v8/build M=/home/seantywork/hack/linux/linuxyz/kgpio-irqsock modules
+make[1]: Entering directory '/usr/src/linux-headers-6.12.25+rpt-rpi-v8'
+ CC [M] /home/seantywork/hack/linux/linuxyz/kgpio-irqsock/kgpio_irqsk.o
+ MODPOST /home/seantywork/hack/linux/linuxyz/kgpio-irqsock/Module.symvers
+ CC [M] /home/seantywork/hack/linux/linuxyz/kgpio-irqsock/kgpio_irqsk.mod.o
+ CC [M] /home/seantywork/hack/linux/linuxyz/kgpio-irqsock/.module-common.o
+ LD [M] /home/seantywork/hack/linux/linuxyz/kgpio-irqsock/kgpio_irqsk.ko
+make[1]: Leaving directory '/usr/src/linux-headers-6.12.25+rpt-rpi-v8'
+
+```
+
+#
+
```shell
seantywork@raspberrypi2:~/hack/linux/linuxyz/kgpio-irqsock $ cat ins.conf
#CTLOUT=GPIO17
```
+#
+
+```shell
+
+seantywork@raspberrypi:~/hack/linux/linuxyz/kgpio-irqsock $ cat ins.conf
+CTLOUT=GPIO24
+DATAOUT=GPIO27
+#CTLIN=0
+#DATAIN=0
+CTLIN=GPIO17
+DATAIN=GPIO23
+IF_ADDR=10.10.0.1/24
+
+
+```
+
+```shell
+sudo dmesg -wH
+
+```
+
+#
+
+```shell
+
+
+```
\ No newline at end of file
void geth_napi_interrupt(int irq, void *dev_id, struct pt_regs *regs){
printk(KERN_INFO "napi interrupt\n");
- unsigned long flags;
+
struct geth_priv *priv;
struct net_device *dev = (struct net_device *)dev_id;
extern int i_q_len[MAX_Q_LEN];
extern u8 i_q[MAX_Q_LEN][MAX_PKTLEN];
+void geth_napi_interrupt(int irq, void *dev_id, struct pt_regs *regs);
+
+int geth_poll(struct napi_struct *napi, int budget);
+
netdev_tx_t geth_xmit(struct sk_buff *skb, struct net_device *dev);
void geth_hw_tx(char *buf, int len, struct net_device *dev);