Thread (20 messages) 20 messages, 6 authors, 2010-08-12

Re: [Uclinux-dist-devel] [PATCH 2/2] net: dsa: introduce MICREL KSZ8893MQL/BL ethernet switch chip support

From: Karl Beldan <hidden>
Date: 2010-07-21 20:31:38

On Wed, Jul 21, 2010 at 6:05 PM, Mike Frysinger [off-list ref] wrote:
On Wed, Jul 21, 2010 at 11:16, Lennert Buytenhek wrote:
quoted
On Wed, Jul 21, 2010 at 09:37:22AM -0400, Mike Frysinger wrote:
quoted
+static int ksz8893m_setup(struct dsa_switch *ds)
+{
+     int i;
+     int ret;
+
+     ret = ksz8893m_switch_reset(ds);
+     if (ret < 0)
+             return ret;
It's pretty ugly that the mdiobus is passed in via the normal means,
but a reference to the SPI bus to use is just stuffed into some global
variable.

Can you not access all registers via MII?
it depends on the host mdio bus.  if it supports the semi-standard
behavior of toggling the OP field of MDIO frames, then yes, you can do
it via MII.  but i dont think the current mdio framework in the kernel
keeps track of that functionality, so there isnt a way in the driver
to say "is this possible, else fall back to SPI".
Are you referring to SMI ?
certainly the part that was used to develop this driver does not
support this behavior thus SPI is the only way of accessing the
extended registers.  i guess the driver could be extended so that
people could pick which mode they want to program the registers via
platform resources, but we have no way of testing that, so i say let
the person who actually can use & wants that functionality implement
it.
quoted
(If not, struct dsa_chip_data will need go be extended with another
struct device pointer that we can use to find the spi bus with.)
if the framework supports, i can convert the driver to it, but i'm not
sure we have the time atm to tackle reworking common frameworks.
If someone tackles this, it would be nice that they bear in mind that
phylib's drivers also need spi/smi/i2c register access.
quoted
quoted
+static int ksz8893m_port_to_phy_addr(int port)
+{
+     if (port >= 1 && port <= KSZ8893M_PORT_NUM)
+             return port;
+
+     pr_warning("use default phy addr 3\n");
+     return 3;
Does this ever happen?  You should just be able to return -1 here, IMHO.
i dont recall seeing a warning, but presumably if it it did occur,
something else needs fixing.  so -1 is OK.
I would remove this.

-- 
Karl
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help