[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1171491906.30473.3.camel@sinatra.austin.ibm.com>
Date: Wed, 14 Feb 2007 16:25:06 -0600
From: John Rose <johnrose@...tin.ibm.com>
To: Jan-Bernd Themann <ossthema@...ibm.com>
Cc: Jeff Garzik <jeff@...zik.org>,
Christoph Raisch <RAISCH@...ibm.com>,
Jan-Bernd Themann <themann@...ibm.com>,
linux-kernel <linux-kernel@...r.kernel.org>,
linux-ppc <linuxppc-dev@...abs.org>,
Marcus Eder <MEDER@...ibm.com>,
Thomas Klein <tklein@...ibm.com>, stefan.roscher@...ibm.com,
netdev <netdev@...r.kernel.org>,
Nathan Fontenot <nfont@...tin.ibm.com>
Subject: Re: [PATCH 2.6.21-rc1] ehea: dynamic add / remove port
Hi-
A few high level comments, then some really insignificant ones.
First, is there a reason why we shouldn't have a sysfs entry/kobject for
each logical port? How is it possible to determine, from the adapter
sysfs directory, the current number of ports for that adapter? A port
sysfs directory could include attributes like the OF path to the port,
the state of the port, etc etc.
Second, the probe and remove functions do not communicate whether an add
or remove was successful. Combine this with the lack of port
information in the adapter sysfs directory, and the userspace tool has
no way of verifying a dynamic add/remove.
+ dn_log_port_id = (u32*)get_property(eth_dn, "ibm,hea-port-no",
+ NULL);
+ if (!dn_log_port_id) {
+ ehea_error("bad device node: dn_log_port_id=%p",
+ dn_log_port_id);
Wouldn't this print NULL every time for dn_log_port_id? Would the OF
path for eth_dn make for a more useful error msg?
+ ehea_info("%s -> logial port id #%d",
Spelling :)
if (port_setup_ok)
- ret = 0; /* At least some ports are setup correctly */
+ return 0; /* At least some ports are setup correctly */
else
- ret = -EINVAL;
+ return -EINVAL;
The else is unnecessary.
static int __devexit ehea_remove(struct ibmebus_dev *dev)
{
struct ehea_adapter *adapter = dev->ofdev.dev.driver_data;
u64 hret;
int i;
- for (i = 0; i < adapter->num_ports; i++)
+ for (i = 0; i < EHEA_MAX_PORTS; i++)
if (adapter->port[i]) {
ehea_shutdown_single_port(adapter->port[i]);
adapter->port[i] = NULL;
}
Else break?
Thanks-
John
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists