Controlling LEDs through a 74x164 shift register

Yeah,it should be populated.
I gotta check the syntax in DTS.
Try images from the same gdrive url and report if something has changed.

I found syntax error and missing aliases for power LED.
Rebuilt and images are here:https://drive.google.com/drive/folders/1VyDlOlNVAbQTE8CF7VQHTvNyEuc8SfDl?usp=sharing

Same result:

We've been sent home from work due to snow, so I've brought the WAC510 home with me. I'll fork your github to my home PC and fiddle with the DTS..

Tim

Then shift register is not registered correctly.
Also,did you use your board-2.bin or one in my branch?
Can you check if it registered?

Can I just check /proc/device-tree/soc to see if it's registered? If so, here's the contents of that:
root@OpenWrt:/# ls -l /proc/device-tree/soc/
-r--r--r-- 1 root root 4 Mar 2 14:19 #address-cells
-r--r--r-- 1 root root 4 Mar 2 14:19 #size-cells
drwxr-xr-x 94 root root 0 Mar 2 14:19 ad-hoc-bus
drwxr-xr-x 2 root root 0 Mar 2 14:19 aliases
drwxr-xr-x 2 root root 0 Mar 2 14:19 clock-controller@1800000
drwxr-xr-x 2 root root 0 Mar 2 14:19 clock-controller@b088000
drwxr-xr-x 2 root root 0 Mar 2 14:19 clock-controller@b098000
drwxr-xr-x 2 root root 0 Mar 2 14:19 clock-controller@b0a8000
drwxr-xr-x 2 root root 0 Mar 2 14:19 clock-controller@b0b8000
-r--r--r-- 1 root root 11 Mar 2 14:19 compatible
drwxr-xr-x 2 root root 0 Mar 2 14:19 crypto@8e3a000
drwxr-xr-x 2 root root 0 Mar 2 14:19 dma@7884000
drwxr-xr-x 2 root root 0 Mar 2 14:19 dma@7984000
drwxr-xr-x 2 root root 0 Mar 2 14:19 dma@8e04000
drwxr-xr-x 4 root root 0 Mar 2 14:19 edma@c080000
drwxr-xr-x 2 root root 0 Mar 2 14:19 ess-psgmii@98000
drwxr-xr-x 2 root root 0 Mar 2 14:19 ess-switch@c000000
drwxr-xr-x 2 root root 0 Mar 2 14:19 ess_tcsr@1953000
drwxr-xr-x 3 root root 0 Mar 2 14:19 gpio-keys
drwxr-xr-x 9 root root 0 Mar 2 14:19 gpio-leds
drwxr-xr-x 2 root root 0 Mar 2 14:19 hsphy@a6000
drwxr-xr-x 2 root root 0 Mar 2 14:19 hsphy@a8000
drwxr-xr-x 2 root root 0 Mar 2 14:19 i2c@78b7000
drwxr-xr-x 2 root root 0 Mar 2 14:19 interrupt-controller@b000000
drwxr-xr-x 3 root root 0 Mar 2 14:19 led_spi
drwxr-xr-x 7 root root 0 Mar 2 14:19 mdio@90000
-r--r--r-- 1 root root 4 Mar 2 14:19 name
drwxr-xr-x 4 root root 0 Mar 2 14:19 pinctrl@1000000
drwxr-xr-x 3 root root 0 Mar 2 14:19 qpic-nand@79b0000
-r--r--r-- 1 root root 0 Mar 2 14:19 ranges
drwxr-xr-x 2 root root 0 Mar 2 14:19 regulator@b012000
drwxr-xr-x 2 root root 0 Mar 2 14:19 regulator@b089000
drwxr-xr-x 2 root root 0 Mar 2 14:19 regulator@b099000
drwxr-xr-x 2 root root 0 Mar 2 14:19 regulator@b0a9000
drwxr-xr-x 2 root root 0 Mar 2 14:19 regulator@b0b9000
drwxr-xr-x 2 root root 0 Mar 2 14:19 restart@4ab000
drwxr-xr-x 2 root root 0 Mar 2 14:19 rng@22000
drwxr-xr-x 2 root root 0 Mar 2 14:19 serial@78af000
drwxr-xr-x 2 root root 0 Mar 2 14:19 serial@78b0000
drwxr-xr-x 5 root root 0 Mar 2 14:19 spi@78b5000
drwxr-xr-x 2 root root 0 Mar 2 14:19 ssphy@9a000
drwxr-xr-x 2 root root 0 Mar 2 14:19 tcsr@1949000
drwxr-xr-x 2 root root 0 Mar 2 14:19 tcsr@194b000
drwxr-xr-x 2 root root 0 Mar 2 14:19 tcsr@1957000
drwxr-xr-x 3 root root 0 Mar 2 14:19 usb2@60f8800
drwxr-xr-x 3 root root 0 Mar 2 14:19 usb3@8af8800
drwxr-xr-x 2 root root 0 Mar 2 14:19 watchdog@b017000
drwxr-xr-x 2 root root 0 Mar 2 14:19 wifi@a000000
drwxr-xr-x 2 root root 0 Mar 2 14:19 wifi@a800000
root@OpenWrt:/#

I just used your initramfs from your gdrive for the latest bootlog, nothing of mine.. I'm still cloning/compiling your branch on my laptop :slight_smile:

Tim

OK,then I know whats the issue with board-2.bin
Will fix that now.

You can see that led_spi is registered.
But you can see /sys/class/devices
There should be HC595 under led_spi

I've only got /sys/class/leds, and it's empty..

Tim

Yeah,I told you wrong.
Under /sys there should be devices folder.

HC595 has to be registered somewhere there.
Can you also run lsmod to see if kernel module is loaded at all

Here's the contents of /sys/devices and the loaded modules:

root@OpenWrt:/# ls -l /sys/devices/
drwxr-xr-x    2 root     root             0 Jan  1  1970 fab-pcnoc
drwxr-xr-x    2 root     root             0 Jan  1  1970 fab-snoc
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-adss-dma0
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-adss-dma1
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-adss-dma2
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-adss-dma3
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-blsp-bam
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-crypto
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-ddrc-snoc
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-ess
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-pcie
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-pcnoc-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-pcnoc-snoc
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-qdss-bamndp
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-qdss-dap
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-qdss-etr
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-qpic-bam
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-sdcc-bam
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-snoc-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-snoc-pcnoc
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-spdm
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-tic
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-usb2-bam
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-usb3
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-wss-0
drwxr-xr-x    2 root     root             0 Jan  1  1970 mas-wss-1
drwxr-xr-x    2 root     root             0 Jan  1  1970 pcnoc-int-0
drwxr-xr-x    2 root     root             0 Jan  1  1970 pcnoc-m-0
drwxr-xr-x    2 root     root             0 Jan  1  1970 pcnoc-m-1
drwxr-xr-x    2 root     root             0 Jan  1  1970 pcnoc-s-0
drwxr-xr-x    2 root     root             0 Jan  1  1970 pcnoc-s-1
drwxr-xr-x    2 root     root             0 Jan  1  1970 pcnoc-s-2
drwxr-xr-x    2 root     root             0 Jan  1  1970 pcnoc-s-3
drwxr-xr-x    2 root     root             0 Jan  1  1970 pcnoc-s-4
drwxr-xr-x    2 root     root             0 Jan  1  1970 pcnoc-s-5
drwxr-xr-x    2 root     root             0 Jan  1  1970 pcnoc-s-6
drwxr-xr-x    2 root     root             0 Jan  1  1970 pcnoc-s-7
drwxr-xr-x    2 root     root             0 Jan  1  1970 pcnoc-s-8
drwxr-xr-x    2 root     root             0 Jan  1  1970 pcnoc-s-9
drwxr-xr-x   12 root     root             0 Jan  1  1970 platform
drwxr-xr-x    2 root     root             0 Jan  1  1970 qdss-int
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-a7ss
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-adss-apu
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-adss-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-adss-vmidmt-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-blsp-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-boot-rom
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-clk-ctl
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-crypto-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-ddrc-apu-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-ddrc-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-ddrc-mpu0-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-ddrc-mpu1-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-ddrc-mpu2-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-ess-apu-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-ess-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-ess-vmidmt-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-fephy-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-gcnt
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-imem-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-mdio
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-ocimem
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-pcie
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-pcnoc-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-pcnoc-mpu-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-pcnoc-snoc
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-prng
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-prng-apu-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-qdss-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-qdss-stm
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-qhss-apu-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-qpic-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-sdcc-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-security
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-snoc-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-snoc-ddrc-m1
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-snoc-mpu-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-spdm
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-srif
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-srvc-pcnoc
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-srvc-snoc
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-tcsr
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-tlmm
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-usb2-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-usb3-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-wss0-apu-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-wss0-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-wss0-vmidmt-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-wss1-apu-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-wss1-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 slv-wss1-vmidmt-cfg
drwxr-xr-x    2 root     root             0 Jan  1  1970 snoc-int-0
drwxr-xr-x    2 root     root             0 Jan  1  1970 snoc-int-1
drwxr-xr-x    6 root     root             0 Jan  1  1970 system
drwxr-xr-x   10 root     root             0 Jan  1  1970 virtual

.

root@OpenWrt:/# lsmod
ahci                   13535  0 
ahci_platform           2763  0 
ath                    15806  1 ath10k_core
ath10k_core           237524  1 ath10k_pci
ath10k_pci             36916  0 
cfg80211              199669  3 ath10k_core,ath,mac80211
compat                  7152  4 ath10k_pci,ath10k_core,mac80211,cfg80211
crc_ccitt               1067  1 ppp_async
dwc3                   16938  0 
dwc3_of_simple          2555  0 
ehci_hcd               30206  1 ehci_platform
ehci_platform           4396  0 
gpio_74x164             2385  0 
gpio_button_hotplug     5956  0 
ip_tables               9559  3 iptable_nat,iptable_mangle,iptable_filter
ip6_tables              9365  2 ip6table_mangle,ip6table_filter
ip6t_REJECT             1004  2 
ip6table_filter          830  1 
ip6table_mangle         1214  1 
ipt_MASQUERADE           818  1 
ipt_REJECT              1002  2 
iptable_filter           892  1 
iptable_mangle          1020  1 
iptable_nat             1105  1 
leds_gpio               2643  0 
ledtrig_usbport         2575  0 
libahci                17594  3 ahci,ahci_platform,libahci_platform
libahci_platform        4421  1 ahci_platform
libata                124337  4 ahci,ahci_platform,libahci_platform,libahci
mac80211              386914  1 ath10k_core
nf_conntrack           52928  8 nf_conntrack_ipv6,xt_state,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_ipv4,nf_nat_ipv4,nf_nat,nf_conntrack_rtcae
nf_conntrack_ipv4       5251 10 
nf_conntrack_ipv6       5564  5 
nf_conntrack_rtcache    2642  0 
nf_defrag_ipv4           892  1 nf_conntrack_ipv4
nf_defrag_ipv6         12820  1 nf_conntrack_ipv6
nf_log_common           2319  2 nf_log_ipv4,nf_log_ipv6
nf_log_ipv4             3126  0 
nf_log_ipv6             3319  0 
nf_nat                  8263  4 xt_nat,nf_nat_redirect,nf_nat_masquerade_ipv4,nf_nat_ipv4
nf_nat_ipv4             3271  1 iptable_nat
nf_nat_masquerade_ipv4    1549  1 ipt_MASQUERADE
nf_nat_redirect          987  1 xt_REDIRECT
nf_reject_ipv4          1923  1 ipt_REJECT
nf_reject_ipv6          2184  1 ip6t_REJECT
ohci_hcd               20923  1 ohci_platform
ohci_platform           3720  0 
phy_qcom_dwc3           3628  0 
ppp_async               6353  0 
ppp_generic            20888  3 pppoe,ppp_async,pppox
pppoe                   7927  0 
pppox                   1383  1 pppoe
scsi_mod               83469  2 sd_mod,libata
sd_mod                 23021  0 
slhc                    3986  1 ppp_generic
x_tables               10860 22 ipt_REJECT,ipt_MASQUERADE,xt_time,xt_tcpudp,xt_state,xt_nat,xt_multiport,xt_mark,xt_mac,xt_limit,xt_conntrack,xt_comms
xhci_hcd               76408  2 xhci_plat_hcd,xhci_pci
xhci_pci                2644  0 
xhci_plat_hcd           4866  0 
xt_LOG                   963  0 
xt_REDIRECT              885  0 
xt_TCPMSS               2664  2 
xt_comment               587125 
xt_conntrack            2392 14 
xt_limit                1101 20 
xt_mac                   711  0 
xt_mark                  800  0 
xt_multiport            1364  0 
xt_nat                  1437  0 
xt_state                 841  0 
xt_tcpudp               1880 10 
xt_time                 1702  0 
root@OpenWrt:/#

Tim

Great,kernel module is loaded.
Can you check /sys/platform and /sys/system folders?

I assume you mean /sys/devices/platform and /sys/devices/system?
If so:

root@OpenWrt:/# ls -l /sys/devices/platform/
drwxr-xr-x    3 root     root             0 Jan  1  1970 Fixed MDIO bus.0
drwxr-xr-x    2 root     root             0 Jan  1  1970 alarmtimer
drwxr-xr-x    2 root     root             0 Jan  1  1970 cpufreq-dt
drwxr-xr-x    2 root     root             0 Jan  1  1970 opp_table0
drwxr-xr-x    2 root     root             0 Jan  1  1970 pmu
drwxr-xr-x    3 root     root             0 Jan  1  1970 reg-dummy
drwxr-xr-x    2 root     root             0 Mar  2 14:35 regulatory.0
drwxr-xr-x    3 root     root             0 Jan  1  1970 serial8250
drwxr-xr-x   40 root     root             0 Jan  1  1970 soc
drwxr-xr-x    2 root     root             0 Jan  1  1970 timer
-rw-r--r--    1 root     root          4096 Mar  2 14:35 uevent
root@OpenWrt:/# ls -l /sys/devices/system/
drwxr-xr-x    7 root     root             0 Jan  1  1970 clockevents
drwxr-xr-x    3 root     root             0 Jan  1  1970 clocksource
drwxr-xr-x    2 root     root             0 Mar  2 14:36 container
drwxr-xr-x    8 root     root             0 Jan  1  1970 cpu
root@OpenWrt:/# 

And in the 'soc' directory:

root@OpenWrt:/# ls -l /sys/devices/platform/soc/
drwxr-xr-x    4 root     root             0 Jan  1  1970 1000000.pinctrl
drwxr-xr-x    2 root     root             0 Jan  1  1970 1800000.clock-controller
drwxr-xr-x    2 root     root             0 Jan  1  1970 1949000.tcsr
drwxr-xr-x    2 root     root             0 Jan  1  1970 194b000.tcsr
drwxr-xr-x    2 root     root             0 Jan  1  1970 1953000.ess_tcsr
drwxr-xr-x    2 root     root             0 Jan  1  1970 1957000.tcsr
drwxr-xr-x    2 root     root             0 Jan  1  1970 2089000.regulator
drwxr-xr-x    2 root     root             0 Jan  1  1970 22000.rng
drwxr-xr-x    2 root     root             0 Jan  1  1970 4ab000.restart
drwxr-xr-x    2 root     root             0 Jan  1  1970 580000.ad-hoc-bus
drwxr-xr-x    3 root     root             0 Jan  1  1970 60f8800.usb2
drwxr-xr-x    3 root     root             0 Jan  1  1970 7884000.dma
drwxr-xr-x    3 root     root             0 Jan  1  1970 78af000.serial
drwxr-xr-x    3 root     root             0 Jan  1  1970 78b5000.spi
drwxr-xr-x    3 root     root             0 Jan  1  1970 8af8800.usb3
drwxr-xr-x    3 root     root             0 Jan  1  1970 8e04000.dma
drwxr-xr-x    2 root     root             0 Jan  1  1970 8e3a000.crypto
drwxr-xr-x    3 root     root             0 Jan  1  1970 90000.mdio
drwxr-xr-x    2 root     root             0 Jan  1  1970 98000.ess-psgmii
drwxr-xr-x    2 root     root             0 Jan  1  1970 9a000.ssphy
drwxr-xr-x    2 root     root             0 Jan  1  1970 a000000.wifi
drwxr-xr-x    2 root     root             0 Jan  1  1970 a6000.hsphy
drwxr-xr-x    2 root     root             0 Jan  1  1970 a8000.hsphy
drwxr-xr-x    2 root     root             0 Jan  1  1970 a800000.wifi
drwxr-xr-x    2 root     root             0 Jan  1  1970 b012000.regulator
drwxr-xr-x    4 root     root             0 Jan  1  1970 b017000.watchdog
drwxr-xr-x    2 root     root             0 Jan  1  1970 b088000.clock-controller
drwxr-xr-x    2 root     root             0 Jan  1  1970 b098000.clock-controller
drwxr-xr-x    2 root     root             0 Jan  1  1970 b099000.regulator
drwxr-xr-x    2 root     root             0 Jan  1  1970 b0a8000.clock-controller
drwxr-xr-x    2 root     root             0 Jan  1  1970 b0a9000.regulator
drwxr-xr-x    2 root     root             0 Jan  1  1970 b0b8000.clock-controller
drwxr-xr-x    2 root     root             0 Jan  1  1970 b0b9000.regulator
drwxr-xr-x    2 root     root             0 Jan  1  1970 c000000.ess-switch
drwxr-xr-x    3 root     root             0 Jan  1  1970 c080000.edma
-rw-r--r--    1 root     root          4096 Mar  2 14:36 driver_override
-r--r--r--    1 root     root          4096 Mar  2 14:36 modalias
lrwxrwxrwx    1 root     root             0 Mar  2 14:36 of_node -> ../../../firmware/devicetree/base/soc
drwxr-xr-x    2 root     root             0 Jan  1  1970 soc:gpio-keys
drwxr-xr-x    2 root     root             0 Jan  1  1970 soc:gpio-leds
drwxr-xr-x    2 root     root             0 Jan  1  1970 soc:led_spi
lrwxrwxrwx    1 root     root             0 Mar  2 14:36 subsystem -> ../../../bus/platform
-rw-r--r--    1 root     root          4096 Mar  2 14:36 uevent
root@OpenWrt:/#

Looks like the chip is registering, does it?

Tim

Yeah,it looks like it is registered.
I dont understand why then arent leds being registered.

Can I help? I'm a little out of my depth, but I'll give it a go!

Tim

I dont know,I have no idea why they are not registering.
It would be good for someone else to look at DTS,most likely its simple syntax error but its hard to spot when you checked that DTS for multiple times
Images have been updated to include corrected board-2.bin
https://drive.google.com/drive/folders/1VyDlOlNVAbQTE8CF7VQHTvNyEuc8SfDl?usp=sharing

Is the DTS in your WAC510 github branch? I can have a look, for what it's worth..

Tim

Yes,it is here:

I've managed to unpack a Netgear 'firmware upgrade', and have access to the squashfs filesystem. Would that be any help?

Tim

That really depends on whats inside.

Perhaps a copy of the DTS they use? Mind you, I extracted the DTS from the firmware's kernel already and you've already seen that.. OK - bad idea :slight_smile:

Tim

I doubt it.
I already saw DTS they use,they are using reference DTS for SPI+NAND.
DK01-C2 exactly.

I have a couple of probably very silly questions:

As far as I understand it, the SoC uses it's GPIO pins as an SPI bus to talk to the shift register, right? So, the kernel is registering the shift register on those GPIO pins, but it's not 'seeing' the shift register? Is that right?

Does that mean perhaps the GPIO's for the SPI bus aren't right? I'm pretty sure gpio5 is one of them, but I'm not sure on the other..

What about that 'compatible' string? The chip is a 74hc164, which has a kernel module gpio_74x164. Shouldn't that be referenced somewhere? Why does it say 'fairchild,74hc595'?

Tim