include/linux/ssb/ssb.h
Source file repositories/reference/linux-study-clean/include/linux/ssb/ssb.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/ssb/ssb.h- Extension
.h- Size
- 20478 bytes
- Lines
- 675
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: operation-table or driver-model contract
- Status
- pattern implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines an operation table; this is where Linux turns generic core objects into subsystem-specific behavior.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/device.hlinux/list.hlinux/types.hlinux/spinlock.hlinux/pci.hlinux/gpio/driver.hlinux/mod_devicetable.hlinux/dma-mapping.hlinux/platform_device.hlinux/ssb/ssb_regs.hlinux/ssb/ssb_driver_chipcommon.hlinux/ssb/ssb_driver_mips.hlinux/ssb/ssb_driver_extif.hlinux/ssb/ssb_driver_pci.h
Detected Declarations
struct pcmcia_devicestruct ssb_busstruct ssb_driverstruct ssb_sprom_core_pwr_infostruct ssb_spromstruct ssb_boardinfostruct ssb_devicestruct ssb_bus_opsstruct __ssb_dev_wrapperstruct ssb_devicestruct ssb_driverstruct ssb_busstruct ssb_init_invariantsenum ssb_bustypeenum ssb_quirksfunction dev_to_ssb_devfunction ssb_set_drvdatafunction ssb_get_drvdatafunction ssb_get_devtypedatafunction ssb_read8function ssb_read16function ssb_read32function ssb_write8function ssb_write16function ssb_write32function ssb_block_readfunction ssb_block_writefunction ssb_pcihost_unregisterfunction ssb_pcihost_set_power_statefunction ssb_pcihost_unregister
Annotated Snippet
struct device_driver drv;
};
#define drv_to_ssb_drv(_drv) container_of_const(_drv, struct ssb_driver, drv)
extern int __ssb_driver_register(struct ssb_driver *drv, struct module *owner);
#define ssb_driver_register(drv) \
__ssb_driver_register(drv, THIS_MODULE)
extern void ssb_driver_unregister(struct ssb_driver *drv);
enum ssb_bustype {
SSB_BUSTYPE_SSB, /* This SSB bus is the system bus */
SSB_BUSTYPE_PCI, /* SSB is connected to PCI bus */
SSB_BUSTYPE_PCMCIA, /* SSB is connected to PCMCIA bus */
SSB_BUSTYPE_SDIO, /* SSB is connected to SDIO bus */
};
/* board_vendor */
#define SSB_BOARDVENDOR_BCM 0x14E4 /* Broadcom */
#define SSB_BOARDVENDOR_DELL 0x1028 /* Dell */
#define SSB_BOARDVENDOR_HP 0x0E11 /* HP */
/* board_type */
#define SSB_BOARD_BCM94301CB 0x0406
#define SSB_BOARD_BCM94301MP 0x0407
#define SSB_BOARD_BU4309 0x040A
#define SSB_BOARD_BCM94309CB 0x040B
#define SSB_BOARD_BCM4309MP 0x040C
#define SSB_BOARD_BU4306 0x0416
#define SSB_BOARD_BCM94306MP 0x0418
#define SSB_BOARD_BCM4309G 0x0421
#define SSB_BOARD_BCM4306CB 0x0417
#define SSB_BOARD_BCM94306PC 0x0425 /* pcmcia 3.3v 4306 card */
#define SSB_BOARD_BCM94306CBSG 0x042B /* with SiGe PA */
#define SSB_BOARD_PCSG94306 0x042D /* with SiGe PA */
#define SSB_BOARD_BU4704SD 0x042E /* with sdram */
#define SSB_BOARD_BCM94704AGR 0x042F /* dual 11a/11g Router */
#define SSB_BOARD_BCM94308MP 0x0430 /* 11a-only minipci */
#define SSB_BOARD_BU4318 0x0447
#define SSB_BOARD_CB4318 0x0448
#define SSB_BOARD_MPG4318 0x0449
#define SSB_BOARD_MP4318 0x044A
#define SSB_BOARD_SD4318 0x044B
#define SSB_BOARD_BCM94306P 0x044C /* with SiGe */
#define SSB_BOARD_BCM94303MP 0x044E
#define SSB_BOARD_BCM94306MPM 0x0450
#define SSB_BOARD_BCM94306MPL 0x0453
#define SSB_BOARD_PC4303 0x0454 /* pcmcia */
#define SSB_BOARD_BCM94306MPLNA 0x0457
#define SSB_BOARD_BCM94306MPH 0x045B
#define SSB_BOARD_BCM94306PCIV 0x045C
#define SSB_BOARD_BCM94318MPGH 0x0463
#define SSB_BOARD_BU4311 0x0464
#define SSB_BOARD_BCM94311MC 0x0465
#define SSB_BOARD_BCM94311MCAG 0x0466
/* 4321 boards */
#define SSB_BOARD_BU4321 0x046B
#define SSB_BOARD_BU4321E 0x047C
#define SSB_BOARD_MP4321 0x046C
#define SSB_BOARD_CB2_4321 0x046D
#define SSB_BOARD_CB2_4321_AG 0x0066
#define SSB_BOARD_MC4321 0x046E
/* 4325 boards */
#define SSB_BOARD_BCM94325DEVBU 0x0490
#define SSB_BOARD_BCM94325BGABU 0x0491
#define SSB_BOARD_BCM94325SDGWB 0x0492
#define SSB_BOARD_BCM94325SDGMDL 0x04AA
#define SSB_BOARD_BCM94325SDGMDL2 0x04C6
#define SSB_BOARD_BCM94325SDGMDL3 0x04C9
#define SSB_BOARD_BCM94325SDABGWBA 0x04E1
/* 4322 boards */
#define SSB_BOARD_BCM94322MC 0x04A4
#define SSB_BOARD_BCM94322USB 0x04A8 /* dualband */
#define SSB_BOARD_BCM94322HM 0x04B0
#define SSB_BOARD_BCM94322USB2D 0x04Bf /* single band discrete front end */
/* 4312 boards */
#define SSB_BOARD_BU4312 0x048A
#define SSB_BOARD_BCM4312MCGSG 0x04B5
/* chip_package */
#define SSB_CHIPPACK_BCM4712S 1 /* Small 200pin 4712 */
#define SSB_CHIPPACK_BCM4712M 2 /* Medium 225pin 4712 */
#define SSB_CHIPPACK_BCM4712L 0 /* Large 340pin 4712 */
#include <linux/ssb/ssb_driver_chipcommon.h>
#include <linux/ssb/ssb_driver_mips.h>
#include <linux/ssb/ssb_driver_extif.h>
#include <linux/ssb/ssb_driver_pci.h>
Annotation
- Immediate include surface: `linux/device.h`, `linux/list.h`, `linux/types.h`, `linux/spinlock.h`, `linux/pci.h`, `linux/gpio/driver.h`, `linux/mod_devicetable.h`, `linux/dma-mapping.h`.
- Detected declarations: `struct pcmcia_device`, `struct ssb_bus`, `struct ssb_driver`, `struct ssb_sprom_core_pwr_info`, `struct ssb_sprom`, `struct ssb_boardinfo`, `struct ssb_device`, `struct ssb_bus_ops`, `struct __ssb_dev_wrapper`, `struct ssb_device`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: pattern implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.