# Graph Report - graphs/kernel-product-integration  (2026-07-29)

## Corpus Check
- cluster-only mode — file stats not available

## Summary
- 1123 nodes · 2267 edges · 62 communities (57 shown, 5 thin omitted)
- Extraction: 97% EXTRACTED · 3% INFERRED · 0% AMBIGUOUS · INFERRED: 79 edges (avg confidence: 0.8)
- Token cost: 0 input · 0 output

## Community Hubs (Navigation)
- Community 0
- Community 1
- Community 2
- Community 3
- Community 4
- Community 5
- Community 6
- Community 7
- Community 8
- Community 9
- Community 10
- Community 11
- Community 12
- Community 13
- Community 14
- Community 15
- Community 16
- Community 17
- Community 18
- Community 19
- Community 20
- Community 21
- Community 22
- Community 23
- Community 24
- Community 25
- Community 26
- Community 27
- Community 28
- Community 29
- Community 30
- Community 31
- Community 32
- Community 33
- Community 34
- Community 35
- Community 36
- Community 37
- Community 38
- Community 39
- Community 40
- Community 41
- Community 42
- Community 43
- Community 44
- Community 45
- Community 46
- Community 47
- Community 48
- Community 49
- Community 50
- Community 51
- Community 53
- Community 55
- Community 56
- Community 57
- Community 58
- Community 59
- Community 61

## God Nodes (most connected - your core abstractions)
1. `is_peripheral_active()` - 18 edges
2. `mv88e6xxx_setup()` - 16 edges
3. `stmmac_open()` - 14 edges
4. `sunxi_udc_handle_ep0()` - 14 edges
5. `composite_setup()` - 14 edges
6. `stmmac_hw_setup()` - 13 edges
7. `USBC_Dev_ConfigTransferMode()` - 13 edges
8. `sunxi_udc_dma_completion()` - 12 edges
9. `sunxi_udc_irq()` - 12 edges
10. `sunxi_udc_queue()` - 12 edges

## Surprising Connections (you probably didn't know these)
- `stmmac_pltfr_suspend()` --calls--> `stmmac_suspend()`  [INFERRED]
  dl48-linux/bsp/drivers/stmmac/stmmac_platform.c → dl48-linux/bsp/drivers/stmmac/stmmac_main.c
- `stmmac_pltfr_remove()` --calls--> `stmmac_dvr_remove()`  [INFERRED]
  dl48-linux/bsp/drivers/stmmac/stmmac_platform.c → dl48-linux/bsp/drivers/stmmac/stmmac_main.c
- `stmmac_pltfr_resume()` --calls--> `stmmac_resume()`  [INFERRED]
  dl48-linux/bsp/drivers/stmmac/stmmac_platform.c → dl48-linux/bsp/drivers/stmmac/stmmac_main.c
- `ed_test()` --calls--> `USBC_Dev_WriteDataStatus()`  [INFERRED]
  dl48-linux/bsp/drivers/usb/sunxi_usb/udc/sunxi_udc.c → dl48-linux/bsp/drivers/usb/sunxi_usb/usbc/usbc_dev.c
- `show_phy_range()` --calls--> `USBC_Phyx_Read()`  [INFERRED]
  dl48-linux/bsp/drivers/usb/sunxi_usb/udc/sunxi_udc.c → dl48-linux/bsp/drivers/usb/sunxi_usb/usbc/usbc_dev.c

## Import Cycles
- None detected.

## Communities (62 total, 5 thin omitted)

### Community 0 - "Community 0"
Cohesion: 0.05
Nodes (30): __hdle, __u8, cfg_vbus_draw(), dma_got_short_pkt(), pio_read_fifo(), pio_write_fifo(), sunxi_get_udc_base(), sunxi_get_udc_clock() (+22 more)

### Community 1 - "Community 1"
Cohesion: 0.05
Nodes (32): mv88e6095_stats_get_sset_count(), mv88e6095_stats_get_strings(), mv88e6250_stats_get_sset_count(), mv88e6250_stats_get_strings(), mv88e6320_stats_get_sset_count(), mv88e6320_stats_get_strings(), mv88e6xxx_atu_setup(), mv88e6xxx_atu_vtu_get_stats() (+24 more)

### Community 2 - "Community 2"
Cohesion: 0.05
Nodes (36): snd_i2s_clk_bus_disable(), snd_i2s_clk_bus_enable(), snd_i2s_clk_disable(), snd_i2s_clk_enable(), snd_i2s_clk_exit(), snd_i2s_clk_init(), snd_i2s_clk_rate(), snd_sunxi_dma_params_init() (+28 more)

### Community 3 - "Community 3"
Cohesion: 0.06
Nodes (51): bos_desc(), gfp_t, __le16, u16, u8, collect_langs(), composite_bind(), composite_default_mfr() (+43 more)

### Community 4 - "Community 4"
Cohesion: 0.08
Nodes (49): irqreturn_t, u8, fusb302_bc_lvl_handler_work(), fusb302_bc_lvl_to_cc(), fusb302_debugfs_exit(), fusb302_debugfs_init(), fusb302_enable_tx_auto_retries(), fusb302_fwnode_get() (+41 more)

### Community 5 - "Community 5"
Cohesion: 0.05
Nodes (30): snd_owa_clk_bus_disable(), snd_owa_clk_bus_enable(), snd_owa_clk_disable(), snd_owa_clk_enable(), snd_owa_clk_exit(), snd_owa_clk_init(), snd_owa_clk_rate(), irqreturn_t (+22 more)

### Community 6 - "Community 6"
Cohesion: 0.06
Nodes (43): netdev_features_t, stmmac_check_ether_addr(), stmmac_check_pcs_mode(), stmmac_clk_csr_set(), stmmac_configure_cbs(), stmmac_dma_operation_mode(), stmmac_dvr_probe(), stmmac_fix_features() (+35 more)

### Community 7 - "Community 7"
Cohesion: 0.07
Nodes (55): dma_read_fifo(), __s32, __USBC_Dev_ClearDma_Trans(), USBC_Dev_ClearEpDma(), __USBC_Dev_ConfigDma_Trans(), USBC_Dev_ConfigEp(), USBC_Dev_ConfigEp_Default(), USBC_Dev_ConfigEpDma() (+47 more)

### Community 8 - "Community 8"
Cohesion: 0.06
Nodes (9): sunxi_gmac_adjust_link(), sunxi_gmac_ethtool_get_pauseparam(), sunxi_gmac_ethtool_set_pauseparam(), sunxi_gmac_flow_ctrl(), sunxi_gmac_read_rx_flowctl(), sunxi_gmac_read_tx_flowctl(), sunxi_gmac_set_link_mode(), sunxi_gmac_write_rx_flowctl() (+1 more)

### Community 9 - "Community 9"
Cohesion: 0.09
Nodes (32): alloc_dma_desc_resources(), free_dma_desc_resources(), init_dma_desc_rings(), __stmmac_disable_all_queues(), stmmac_display_rings(), stmmac_display_rx_rings(), stmmac_display_tx_rings(), stmmac_dvr_remove() (+24 more)

### Community 10 - "Community 10"
Cohesion: 0.14
Nodes (31): __alloc_dma_rx_desc_resources(), __alloc_dma_tx_desc_resources(), gfp_t, u32, dma_free_rx_skbufs(), dma_free_rx_xskbufs(), dma_free_tx_skbufs(), __free_dma_rx_desc_resources() (+23 more)

### Community 11 - "Community 11"
Cohesion: 0.11
Nodes (34): irqreturn_t, dma_write_fifo(), show_phy_range(), sunxi_udc_confirm_rx_ready(), sunxi_udc_handle_ep(), sunxi_udc_handle_ep0(), sunxi_udc_irq(), sunxi_udc_write_fifo() (+26 more)

### Community 12 - "Community 12"
Cohesion: 0.14
Nodes (22): usb_interface_id(), ac_rq_in(), afunc_bind(), afunc_disable(), afunc_get_alt(), afunc_notify(), afunc_notify_complete(), afunc_setup() (+14 more)

### Community 13 - "Community 13"
Cohesion: 0.12
Nodes (26): assert_reg_lock(), u16, u8, mv88e6xxx_atu_new(), mv88e6xxx_broadcast_setup(), mv88e6xxx_get_eeprom(), mv88e6xxx_mdio_write(), mv88e6xxx_port_add_broadcast() (+18 more)

### Community 14 - "Community 14"
Cohesion: 0.11
Nodes (5): sunxi_pinctrl_gpio_direction_output(), sunxi_pinctrl_gpio_set(), sunxi_pinctrl_irq_ack(), sunxi_pinctrl_irq_ack_unmask(), sunxi_pinctrl_irq_unmask()

### Community 15 - "Community 15"
Cohesion: 0.13
Nodes (20): sunxi_gmac_copy_loopback_data(), sunxi_gmac_desc_buf_get_addr(), sunxi_gmac_desc_buf_get_len(), sunxi_gmac_desc_get_own(), sunxi_gmac_desc_get_rx_status(), sunxi_gmac_desc_get_tx_last_seg(), sunxi_gmac_desc_get_tx_status(), sunxi_gmac_desc_init() (+12 more)

### Community 16 - "Community 16"
Cohesion: 0.17
Nodes (16): stmmac_cdc_adjust(), stmmac_construct_skb_zc(), stmmac_dispatch_skb_zc(), stmmac_get_rx_hwtstamp(), stmmac_get_tx_hwtstamp(), stmmac_has_ip_ethertype(), stmmac_napi_poll_rx(), stmmac_rx() (+8 more)

### Community 17 - "Community 17"
Cohesion: 0.16
Nodes (19): s32, cfg_udc_command(), clear_all_irq(), sunxi_udc_disable(), sunxi_udc_enable(), sunxi_udc_pullup(), sunxi_udc_remove(), sunxi_udc_remove_otg() (+11 more)

### Community 18 - "Community 18"
Cohesion: 0.18
Nodes (19): netdev_tx_t, print_pkt(), stmmac_eee_ctrl_timer(), stmmac_enable_eee_mode(), stmmac_finalize_xdp_rx(), stmmac_flush_tx_descriptors(), stmmac_napi_poll_rxtx(), stmmac_napi_poll_tx() (+11 more)

### Community 19 - "Community 19"
Cohesion: 0.14
Nodes (19): gfp_t, is_peripheral_active(), sunxi_udc_alloc_request(), sunxi_udc_ep_config_reset(), sunxi_udc_ep_disable(), sunxi_udc_ep_enable(), sunxi_udc_get_frame(), sunxi_udc_handle_unaligned_buf_start() (+11 more)

### Community 20 - "Community 20"
Cohesion: 0.22
Nodes (17): u16, u8, is31_map_brightness12(), is31fl3216_reset(), is31fl3216_software_shutdown(), is31fl3294_brightness_set(), is31fl3294_seed_amplitude(), is31fl32xx_brightness_set() (+9 more)

### Community 21 - "Community 21"
Cohesion: 0.13
Nodes (3): asoc_simple_probe(), simple_dai_link_of(), simple_parse_of()

### Community 22 - "Community 22"
Cohesion: 0.18
Nodes (14): stmmac_bus_clks_config(), u8, dwmac1000_validate_mcast_bins(), dwmac1000_validate_ucast_entries(), stmmac_axi_setup(), stmmac_dt_phy(), stmmac_mtl_setup(), stmmac_of_get_mac_mode() (+6 more)

### Community 23 - "Community 23"
Cohesion: 0.16
Nodes (17): mv88e6xxx_alloc_chip(), mv88e6xxx_detect(), mv88e6xxx_g1_irq_free(), mv88e6xxx_g1_irq_free_common(), mv88e6xxx_g1_irq_setup(), mv88e6xxx_g1_irq_setup_common(), mv88e6xxx_irq_poll_free(), mv88e6xxx_irq_poll_setup() (+9 more)

### Community 24 - "Community 24"
Cohesion: 0.24
Nodes (13): irqreturn_t, stmmac_common_interrupt(), stmmac_dma_interrupt(), stmmac_fpe_event_status(), stmmac_interrupt(), stmmac_mac_interrupt(), stmmac_msi_intr_rx(), stmmac_msi_intr_tx() (+5 more)

### Community 25 - "Community 25"
Cohesion: 0.14
Nodes (9): stmmac_reset_subtask(), stmmac_service_task(), dev_open(), dev_read(), dev_write(), privateinfo_enter(), loff_t, phys_addr_t (+1 more)

### Community 26 - "Community 26"
Cohesion: 0.14
Nodes (15): sunxi_gmac_desc_init_chain(), sunxi_gmac_disable_tx(), sunxi_gmac_dma_init(), sunxi_gmac_dma_start(), sunxi_gmac_enable_rx(), sunxi_gmac_enable_tx(), sunxi_gmac_hash_filter(), sunxi_gmac_init() (+7 more)

### Community 27 - "Community 27"
Cohesion: 0.16
Nodes (15): mv88e6xxx_bridge_map(), mv88e6xxx_bridge_tx_fwd_offload(), mv88e6xxx_bridge_tx_fwd_unoffload(), mv88e6xxx_crosschip_bridge_join(), mv88e6xxx_crosschip_bridge_leave(), mv88e6xxx_map_virtual_bridge_to_pvt(), mv88e6xxx_port_bridge_join(), mv88e6xxx_port_bridge_leave() (+7 more)

### Community 28 - "Community 28"
Cohesion: 0.18
Nodes (12): sunxi_gmac_check_addr(), sunxi_gmac_dma_desc_deinit(), sunxi_gmac_dma_desc_init(), sunxi_gmac_fops_exit(), sunxi_gmac_fops_init(), sunxi_gmac_parse_delay_maps(), sunxi_gmac_probe(), sunxi_gmac_remove() (+4 more)

### Community 29 - "Community 29"
Cohesion: 0.20
Nodes (12): mv88e6xxx_change_tag_protocol(), mv88e6xxx_port_mirror_add(), mv88e6xxx_port_mirror_del(), mv88e6xxx_set_egress_port(), mv88e6xxx_set_port_mode(), mv88e6xxx_set_port_mode_dsa(), mv88e6xxx_set_port_mode_edsa(), mv88e6xxx_set_port_mode_normal() (+4 more)

### Community 30 - "Community 30"
Cohesion: 0.20
Nodes (11): mv88e6xxx_crosschip_lag_change(), mv88e6xxx_crosschip_lag_join(), mv88e6xxx_crosschip_lag_leave(), mv88e6xxx_lag_can_offload(), mv88e6xxx_lag_set_port_mask(), mv88e6xxx_lag_sync_map(), mv88e6xxx_lag_sync_masks(), mv88e6xxx_lag_sync_masks_map() (+3 more)

### Community 31 - "Community 31"
Cohesion: 0.20
Nodes (10): netdev_features_t, u32, u8, sunxi_gmac_crc(), sunxi_gmac_fix_features(), sunxi_gmac_get_strings(), sunxi_gmac_loopback(), sunxi_gmac_loopback_store() (+2 more)

### Community 32 - "Community 32"
Cohesion: 0.22
Nodes (10): netdev_tx_t, sunxi_gmac_desc_buf_set(), sunxi_gmac_desc_set_own(), sunxi_gmac_desc_tx_close(), sunxi_gmac_dump_dma_desc(), sunxi_gmac_fops_ioctl(), sunxi_gmac_rx_refill(), sunxi_gmac_skb_compose() (+2 more)

### Community 33 - "Community 33"
Cohesion: 0.24
Nodes (3): axp1530_ext_sw_dvm_set_voltage_sel_regmap(), axp1530_ext_sw_dvm_set_voltage_time_sel(), pmu_ext_set_voltage_time_sel()

### Community 34 - "Community 34"
Cohesion: 0.29
Nodes (10): phy_interface_t, mv88e6xxx_mac_config(), mv88e6xxx_mac_link_down(), mv88e6xxx_mac_link_up(), mv88e6xxx_phy_is_internal(), mv88e6xxx_port_config_interface(), mv88e6xxx_port_ppu_updates(), mv88e6xxx_port_setup_mac() (+2 more)

### Community 35 - "Community 35"
Cohesion: 0.24
Nodes (10): mv88e6xxx_fid_map(), mv88e6xxx_port_bridge_flags(), mv88e6xxx_port_broadcast_sync(), mv88e6xxx_port_broadcast_sync_vlan(), mv88e6xxx_port_db_dump(), mv88e6xxx_port_db_dump_fid(), mv88e6xxx_port_db_dump_vlan(), mv88e6xxx_port_fdb_dump() (+2 more)

### Community 36 - "Community 36"
Cohesion: 0.33
Nodes (9): sunxi_gmac_clk_disable(), sunxi_gmac_clk_enable(), sunxi_gmac_hardware_deinit(), sunxi_gmac_hardware_init(), sunxi_gmac_power_off(), sunxi_gmac_power_on(), sunxi_gmac_resume(), sunxi_gmac_select_gpio_state() (+1 more)

### Community 37 - "Community 37"
Cohesion: 0.25
Nodes (9): __u32, ed_test(), filtrate_irq_misc(), sunxi_udc_get_status(), sunxi_udc_handle_ep0_idle(), sunxi_udc_read_fifo_crq(), sunxi_udc_stop_dma_work(), USBC_Dev_ReadDataStatus() (+1 more)

### Community 38 - "Community 38"
Cohesion: 0.32
Nodes (8): __be16, __le16, u16, stmmac_select_queue(), stmmac_vid_crc32_le(), stmmac_vlan_rx_add_vid(), stmmac_vlan_rx_kill_vid(), stmmac_vlan_update()

### Community 39 - "Community 39"
Cohesion: 0.29
Nodes (8): u16, u8, sunxi_pinctrl_desc_find_function_by_pin(), sunxi_pinctrl_gpio_get(), sunxi_pinctrl_gpio_to_irq(), sunxi_pinctrl_irq_request_resources(), sunxi_pmx_gpio_set_direction(), sunxi_pmx_set()

### Community 40 - "Community 40"
Cohesion: 0.32
Nodes (8): u32, sunxi_pinctrl_gpio_of_xlate(), sunxi_pinctrl_irq_of_xlate(), sunxi_pinctrl_set_io_bias_cfg(), sunxi_pintctrl_vccio_ctrl_map(), sunxi_pintctrl_vccio_sel_map(), sunxi_pintctrl_vccio_val_map(), sunxi_pmx_request()

### Community 41 - "Community 41"
Cohesion: 0.25
Nodes (8): sunxi_bsp_pinctrl_init_with_variant(), sunxi_pctrl_get_irq_domain(), sunxi_pinctrl_add_function(), sunxi_pinctrl_build_state(), sunxi_pinctrl_find_function_by_name(), sunxi_pinctrl_get_debounce_div(), sunxi_pinctrl_get_debounce_param(), sunxi_pinctrl_setup_debounce()

### Community 42 - "Community 42"
Cohesion: 0.32
Nodes (8): phy_interface_t, stmmac_disable_eee_mode(), stmmac_eee_init(), stmmac_fpe_link_state_handle(), stmmac_lpi_entry_timer_config(), stmmac_mac_flow_ctrl(), stmmac_mac_link_down(), stmmac_mac_link_up()

### Community 43 - "Community 43"
Cohesion: 0.29
Nodes (7): sunxi_pctrl_build_pin_config(), sunxi_pctrl_has_bias_prop(), sunxi_pctrl_has_drive_prop(), sunxi_pctrl_has_power_source_prop(), sunxi_pctrl_parse_bias_prop(), sunxi_pctrl_parse_drive_prop(), sunxi_pctrl_parse_power_source_prop()

### Community 44 - "Community 44"
Cohesion: 0.29
Nodes (7): mv88e6065_phylink_validate(), mv88e6185_phylink_validate(), mv88e6341_phylink_validate(), mv88e6352_phylink_validate(), mv88e6390_phylink_validate(), mv88e6390x_phylink_validate(), mv88e6393x_phylink_validate()

### Community 45 - "Community 45"
Cohesion: 0.33
Nodes (6): irqreturn_t, sunxi_gmac_int_status(), sunxi_gmac_interrupt(), sunxi_gmac_irq_disable(), sunxi_gmac_poll_controller(), sunxi_gmac_schedule()

### Community 47 - "Community 47"
Cohesion: 0.33
Nodes (6): sunxi_pconf_get(), sunxi_pconf_group_get(), sunxi_pconf_group_set(), sunxi_pconf_reg(), sunxi_pconf_set(), sunxi_power_switch_pf()

### Community 48 - "Community 48"
Cohesion: 0.33
Nodes (6): sunxi_pctrl_dt_node_to_map(), sunxi_pctrl_find_pins_prop(), sunxi_pctrl_parse_function_prop(), sunxi_pinctrl_desc_find_function_by_name(), sunxi_pinctrl_find_group_by_name(), sunxi_pmx_set_mux()

### Community 49 - "Community 49"
Cohesion: 0.33
Nodes (6): mv88e6095_stats_get_stats(), mv88e6250_stats_get_stats(), mv88e6320_stats_get_stats(), mv88e6390_stats_get_stats(), _mv88e6xxx_get_ethtool_stat(), mv88e6xxx_stats_get_stats()

### Community 50 - "Community 50"
Cohesion: 0.33
Nodes (6): mv88e6390_setup_errata(), mv88e6390_setup_errata_applied(), mv88e6xxx_disable_ports(), mv88e6xxx_hardware_reset(), mv88e6xxx_software_reset(), mv88e6xxx_switch_reset()

### Community 51 - "Community 51"
Cohesion: 0.50
Nodes (5): irqreturn_t, mv88e6xxx_g1_irq_thread_fn(), mv88e6xxx_g1_irq_thread_work(), mv88e6xxx_irq_poll(), mv88e6xxx_serdes_irq_thread_fn()

### Community 53 - "Community 53"
Cohesion: 0.50
Nodes (4): u32, mv88e6xxx_atu_vtu_get_strings(), mv88e6xxx_get_rxnfc(), mv88e6xxx_get_strings()

### Community 55 - "Community 55"
Cohesion: 1.00
Nodes (3): mv88e6xxx_policy_apply(), mv88e6xxx_policy_insert(), mv88e6xxx_set_rxnfc()

### Community 61 - "Community 61"
Cohesion: 0.50
Nodes (4): stmmac_rings_status_show(), stmmac_tso_allocator(), sysfs_display_ring(), dma_addr_t

## Knowledge Gaps
- **3 isolated node(s):** `build_dl48_kernel.sh script`, `build_sb24_kernel.sh script`, `deploy_dl48_kernel.sh script`
  These have ≤1 connection - possible missing edges or undocumented components.
- **5 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.

## Suggested Questions
_Questions this graph is uniquely positioned to answer:_

- **Why does `stmmac_reset_subtask()` connect `Community 25` to `Community 6`?**
  _High betweenness centrality (0.004) - this node is a cross-community bridge._
- **Why does `sunxi_udc_handle_ep0()` connect `Community 11` to `Community 0`, `Community 19`, `Community 37`?**
  _High betweenness centrality (0.002) - this node is a cross-community bridge._
- **What connects `build_dl48_kernel.sh script`, `build_sb24_kernel.sh script`, `deploy_dl48_kernel.sh script` to the rest of the system?**
  _3 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `Community 0` be split into smaller, more focused modules?**
  _Cohesion score 0.05028248587570622 - nodes in this community are weakly interconnected._
- **Should `Community 1` be split into smaller, more focused modules?**
  _Cohesion score 0.04644808743169399 - nodes in this community are weakly interconnected._
- **Should `Community 2` be split into smaller, more focused modules?**
  _Cohesion score 0.05141242937853107 - nodes in this community are weakly interconnected._
- **Should `Community 3` be split into smaller, more focused modules?**
  _Cohesion score 0.061581920903954805 - nodes in this community are weakly interconnected._