![](https://seccdn.libravatar.org/avatar/e2145bc5cf53dda95c308a3c75e8fef3.jpg?s=120&d=mm&r=g)
Hello community, here is the log from the commit of package hwinfo checked in at Fri Aug 8 11:49:42 CEST 2008. -------- --- hwinfo/hwinfo.changes 2008-07-22 10:54:47.000000000 +0200 +++ /mounts/work_src_done/STABLE/hwinfo/hwinfo.changes 2008-08-08 11:21:07.000000000 +0200 @@ -1,0 +2,5 @@ +Fri Aug 8 11:20:23 CEST 2008 - olh@suse.de + +- add inital POWER6 ibmebus support for ehea network (bnc#394602 -LTC44938) + +------------------------------------------------------------------- New: ---- hwinfo.ehea.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ hwinfo.spec ++++++ --- /var/tmp/diff_new_pack.u18887/_old 2008-08-08 11:49:37.000000000 +0200 +++ /var/tmp/diff_new_pack.u18887/_new 2008-08-08 11:49:37.000000000 +0200 @@ -2,9 +2,16 @@ # spec file for package hwinfo (Version 15.3) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. -# This file and all modifications and additions to the pristine -# package are under the same license as the package itself. # +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + # Please submit bugfixes or comments via http://bugs.opensuse.org/ # @@ -22,8 +29,9 @@ AutoReqProv: on Summary: Hardware Library Version: 15.3 -Release: 1 +Release: 13 Source: hwinfo-15.3.tar.bz2 +Patch64: hwinfo.ehea.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -48,6 +56,7 @@ %prep %setup +%patch64 -p1 %build make static @@ -95,6 +104,8 @@ %doc doc/libhd/html %changelog +* Fri Aug 08 2008 olh@suse.de +- add inital POWER6 ibmebus support for ehea network (bnc#394602 -LTC44938) * Tue Jul 22 2008 snwint@suse.de - fixed compiling on s390 * Mon Jul 21 2008 snwint@suse.de ++++++ hwinfo.ehea.patch ++++++ inst-sys:/ # modprobe -v -r ehea rmmod /lib/modules/2.6.25.9-20080626_modalias-ppc64/updates/initrd/ehea.ko inst-sys:/ # hwinfo --netcard 10: ? 00.0: 0200 Ethernet controller [Created at pci.1122] Unique ID: Pyta.bJrzPJGSxI8 SysFS ID: /devices/ibmebus/23c00100.lhea SysFS BusID: 23c00100.lhea Hardware Class: network Model: "IBM Host Ethernet Adapter" Vendor: pci 0x1014 "IBM" Device: "IBM Host Ethernet Adapter" Module Alias: "of:NlheaT<NULL>CIBM,lhea" Driver Info #0: Driver Status: ehea is not active Driver Activation Cmd: "modprobe ehea" Config Status: cfg=new, avail=yes, need=no, active=unknown inst-sys:/ # modprobe -v ehea insmod /lib/modules/2.6.25.9-20080626_modalias-ppc64/updates/initrd/ehea.ko inst-sys:/ # hwinfo --netcard 10: None 01.0: 0200 Ethernet controller [Created at pci.1142] Unique ID: e2Ms.lXJfK+8R0b3 SysFS ID: /devices/ibmebus/23c00100.lhea/port1 SysFS BusID: port1 Hardware Class: network Model: "IBM Host Ethernet Adapter Port 1 'port1'" Vendor: pci 0x1014 "IBM" Device: "IBM Host Ethernet Adapter Port 1 'port1'" Device File: eth1 HW Address: 00:1a:64:44:48:c9 Link detected: yes Module Alias: "of:NethernetTnetworkCIBM,lhea-ethernet" Config Status: cfg=new, avail=yes, need=no, active=unknown 11: None 00.0: 0200 Ethernet controller [Created at pci.1142] Unique ID: At5o.LOQaFIQZMm5 SysFS ID: /devices/ibmebus/23c00100.lhea/port0 SysFS BusID: port0 Hardware Class: network Model: "IBM Host Ethernet Adapter Port 0 'port0'" Vendor: pci 0x1014 "IBM" Device: "IBM Host Ethernet Adapter Port 0 'port0'" Device File: eth0 HW Address: 00:1a:64:44:48:c8 Link detected: yes Module Alias: "of:NethernetTnetworkCIBM,lhea-ethernet" Config Status: cfg=new, avail=yes, need=no, active=unknown 12: ? 00.0: 0200 Ethernet controller [Created at pci.1122] Unique ID: Pyta.bJrzPJGSxI8 SysFS ID: /devices/ibmebus/23c00100.lhea SysFS BusID: 23c00100.lhea Hardware Class: network Model: "IBM Host Ethernet Adapter" Vendor: pci 0x1014 "IBM" Device: "IBM Host Ethernet Adapter" Driver: "ehea" Module Alias: "of:NlheaT<NULL>CIBM,lhea" Driver Info #0: Driver Status: ehea is active Driver Activation Cmd: "modprobe ehea" Config Status: cfg=new, avail=yes, need=no, active=unknown inst-sys:/ # --- src/hd/hd.h | 2 - src/hd/pci.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++ src/hd/prom.c | 78 ---------------------------------------------------- src/ids/src/special | 6 ---- 4 files changed, 79 insertions(+), 85 deletions(-) --- a/src/hd/hd.h +++ b/src/hd/hd.h @@ -294,7 +294,7 @@ typedef enum bus_types { /** outside the range of the PCI values */ bus_ps2 = 0x80, bus_serial, bus_parallel, bus_floppy, bus_scsi, bus_ide, bus_usb, bus_adb, bus_raid, bus_sbus, bus_i2o, bus_vio, bus_ccw, bus_iucv, bus_ps3_system_bus, - bus_virtio + bus_virtio, bus_ibmebus } hd_bus_types_t; /** @} */ --- a/src/hd/pci.c +++ b/src/hd/pci.c @@ -58,6 +58,7 @@ static void hd_read_of_platform(hd_data_ static void add_xen_network(hd_data_t *hd_data); static void add_xen_storage(hd_data_t *hd_data); static void hd_read_virtio(hd_data_t *hd_data); +static void hd_read_ibmebus(hd_data_t *hd_data); void hd_scan_sysfs_pci(hd_data_t *hd_data) { @@ -103,6 +104,9 @@ void hd_scan_sysfs_pci(hd_data_t *hd_dat PROGRESS(10, 0, "virtio"); hd_read_virtio(hd_data); + + PROGRESS(11, 0, "ibmebus"); + hd_read_ibmebus(hd_data); } @@ -1085,6 +1089,80 @@ void hd_read_ps3_system_bus(hd_data_t *h free_str_list(sf_bus); } +void hd_read_ibmebus(hd_data_t *hd_data) +{ + char *sf_dev, *s, *modalias; + str_list_t *sf_bus, *sf_bus_e; + hd_t *hd; + + sf_bus = reverse_str_list(read_dir("/sys/bus/ibmebus/devices", 'l')); + + if(!sf_bus) { + ADD2LOG("sysfs: no such bus: ibmebus\n"); + return; + } + for(sf_bus_e = sf_bus; sf_bus_e; sf_bus_e = sf_bus_e->next) { + sf_dev = new_str(hd_read_sysfs_link("/sys/bus/ibmebus/devices", sf_bus_e->str)); + + ADD2LOG( + " ibmebus device: name = %s\n path = %s\n", + sf_bus_e->str, + hd_sysfs_id(sf_dev) + ); + + if((modalias = get_sysfs_attr_by_path(sf_dev, "modalias"))) { + int len = strlen(modalias); + if (len > 0 && modalias[len - 1] == '\n') + modalias[len - 1] = '\0'; + + ADD2LOG(" modalias = \"%s\"\n", modalias); + + if(0); + else if(strstr(modalias, "Nlhea") && strstr(modalias, "CIBM,lhea")) { + /* ==> 23c00100.lhea/modalias <== + * of:NlheaT<NULL>CIBM,lhea + * ehea + */ + hd = add_hd_entry(hd_data, __LINE__, 0); + + hd->bus.id = bus_ibmebus; + hd->vendor.id = MAKE_ID(TAG_PCI, 0x1014); /* IBM */ + hd->base_class.id = bc_network; + hd->sub_class.id = 0; /* ethernet */ + str_printf(&hd->device.name, 0, "IBM Host Ethernet Adapter"); + + hd->modalias = new_str(modalias); + + hd->sysfs_id = new_str(hd_sysfs_id(sf_dev)); + hd->sysfs_bus_id = new_str(sf_bus_e->str); + s = hd_sysfs_find_driver(hd_data, hd->sysfs_id, 1); + if(s) add_str_list(&hd->drivers, s); + } + else if(strstr(modalias, "Nethernet") && strstr(modalias, "CIBM,lhea-ethernet")) { + /* ==> port1/modalias <== + * of:NethernetTnetworkCIBM,lhea-ethernet + * eth1 + */ + hd = add_hd_entry(hd_data, __LINE__, 0); + hd->modalias = new_str(modalias); + hd->sysfs_id = new_str(hd_sysfs_id(sf_dev)); + hd->sysfs_bus_id = new_str(sf_bus_e->str); + hd->vendor.id = MAKE_ID(TAG_PCI, 0x1014); /* IBM */ + hd->base_class.id = bc_network; + hd->sub_class.id = 0; /* ethernet */ + s = strpbrk(hd->sysfs_bus_id, "0123456789"); + if(s) { + hd->slot = strtol(s, NULL, 10); + str_printf(&hd->device.name, 0, "IBM Host Ethernet Adapter Port %d", hd->slot); + } + + s = hd_sysfs_find_driver(hd_data, hd->sysfs_id, 1); + if(s) add_str_list(&hd->drivers, s); + } + } + free_mem(sf_dev); + } +} /* * Get xen (network & storage) data from sysfs. --- a/src/hd/prom.c +++ b/src/hd/prom.c @@ -29,9 +29,6 @@ static void read_str(char *path, char *n static void read_mem(char *path, char *name, unsigned char **mem, unsigned len); static void read_int(char *path, char *name, int *val); static void read_devtree(hd_data_t *hd_data); -static void add_legacy_prom_devices(hd_data_t *hd_data, devtree_t *dt); -static void add_prom_ehea(hd_data_t *hd_data, devtree_t *dt); -static void add_devices(hd_data_t *hd_data); static void dump_devtree_data(hd_data_t *hd_data); static unsigned veth_cnt, vscsi_cnt; @@ -373,7 +370,6 @@ void hd_scan_prom(hd_data_t *hd_data) fclose(f); } if(hd_data->debug) dump_devtree_data(hd_data); - add_devices(hd_data); PROGRESS(2, 0, "color"); @@ -542,80 +538,6 @@ void read_devtree(hd_data_t *hd_data) } -void add_legacy_prom_devices(hd_data_t *hd_data, devtree_t *dt) -{ - if(dt->pci) return; - - add_prom_ehea(hd_data, dt); -} - -void add_prom_ehea(hd_data_t *hd_data, devtree_t *dt) -{ - hd_t *hd; - hd_res_t *res; - char *path = NULL; - unsigned char *hw_addr_bin = NULL; - char *hw_addr = NULL; - int slot; - - if( - dt->device_type && - dt->compatible && - !strcmp(dt->device_type, "network") && - !strcmp(dt->compatible, "IBM,lhea-ethernet") - ) { - str_printf(&path, 0, PROC_PROM "/%s", dt->path); - - ADD2LOG(" ehea: %s\n", path); - - hd = add_hd_entry(hd_data, __LINE__, 0); - hd->bus.id = bus_none; - hd->base_class.id = bc_network; - hd->sub_class.id = 0; /* ethernet */ - - hd->vendor.id = MAKE_ID(TAG_SPECIAL, 0x6001); - hd->device.id = MAKE_ID(TAG_SPECIAL, 0x1003); - hd->rom_id = new_str(dt->path); - - read_int(path, "ibm,hea-port-no", &slot); - hd->slot = slot; - - read_str(path, "ibm,fw-adapter-name", &hd->device.name); - if(!hd->device.name) { - hd->device.name = new_str("IBM Host Ethernet Adapter"); - } - - // "mac-address" or "local-mac-address" ? - read_mem(path, "local-mac-address", &hw_addr_bin, 6); - - if(hw_addr_bin) { - str_printf( - &hw_addr, 0, "%02x:%02x:%02x:%02x:%02x:%02x", - hw_addr_bin[0], hw_addr_bin[1], - hw_addr_bin[2], hw_addr_bin[3], - hw_addr_bin[4], hw_addr_bin[5] - ); - res = new_mem(sizeof *res); - res->hwaddr.type = res_hwaddr; - res->hwaddr.addr = new_str(hw_addr); - add_res_entry(&hd->res, res); - } - } - - free_mem(hw_addr_bin); - free_mem(hw_addr); - free_mem(path); -} - -void add_devices(hd_data_t *hd_data) -{ - devtree_t *dt; - - for(dt = hd_data->devtree; dt; dt = dt->next) { - if(!dt->pci) add_legacy_prom_devices(hd_data, dt); - } -} - void dump_devtree_data(hd_data_t *hd_data) { unsigned u; --- a/src/ids/src/special +++ b/src/ids/src/special @@ -623,12 +623,6 @@ &device.id special 0x3004 +device.name MyriCOM MyriNET Gigabit Ethernet -# IBM ehea - vendor.id special 0x6001 -&device.id special 0x1003 -+driver.module.modprobe ehea - - # UML veth vendor.id special 0x6010 +vendor.name UML ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de