How to re-attach a device on spibus/ACPI?

From: Marcin Cieslak <saper_at_saper.info>
Date: Thu, 21 Aug 2025 14:44:31 UTC
I have the following subtree of SPI devices on an Intel Macbook Pro:

         spi0<Intel Sunrise Point-LP SPI Controller-1> pnpinfo vendor=0x8086 
device=0x9d2a subvendor=0x8086 subdevice=0x7270 class=0x118000 at slot=30 
function=3 dbsf=pci0:0:30:3 handle=\_SB_.PCI0.SPI1
           spibus0<SPI bus (ACPI-hinted)>
             atopcase0<Apple MacBook SPI Topcase> pnpinfo _HID=APP000D _UID=2 
_CID=APPLE-SPI-TOPCASE at bus=0 cs=0 handle=\_SB_.PCI0.SPI1.SPIT
               hidbus0<HID bus>
                 hkbd0<Apple MacBook Keyboard> pnpinfo page=0x0001 usage=0x0006 
bus=0x1c vendor=0x05ac product=0x0276 version=0x0896 _HID=APP000D at index=0
                 unknown pnpinfo page=0x000c usage=0x0001 bus=0x1c vendor=0x05ac 
product=0x0276 version=0x0896 _HID=APP000D at index=1
                 unknown pnpinfo page=0xff00 usage=0x0006 bus=0x1c vendor=0x05ac 
product=0x0276 version=0x0896 _HID=APP000D at index=2
                 unknown pnpinfo page=0xff00 usage=0x000f bus=0x1c vendor=0x05ac 
product=0x0276 version=0x0896 _HID=APP000D at index=3
               hidbus1<HID bus>
                 hms0<Apple MacBook Mouse> pnpinfo page=0x0001 usage=0x0002 
bus=0x1c vendor=0x05ac product=0x0276 version=0x0896 _HID=APP000D at index=0
                 unknown pnpinfo page=0x000d usage=0x0005 bus=0x1c vendor=0x05ac 
product=0x0276 version=0x0896 _HID=APP000D at index=1
                 unknown pnpinfo page=0xff00 usage=0x000c bus=0x1c vendor=0x05ac 
product=0x0276 version=0x0896 _HID=APP000D at index=2

When I unload and reload the "intelspi" device, the driver returns with this 
tree only:

         spi0<Intel Sunrise Point-LP SPI Controller-1> pnpinfo vendor=0x8086 
device=0x9d2a subvendor=0x8086 subdevice=0x7270 class=0x118000 at slot=30 
function=3 dbsf=pci0:0:30:3 handle=\_SB_.PCI0.SPI1
           spibus0<SPI bus (ACPI-hinted)>

What needs to happen to bring the "atopcase0" and its children back?

Anything needs to be done via ACPI? Or is there some devctl magic possible?

(happy to patch the driver(s) but no idea which direction it should go)