RE: [PATCH RFC 2/6] Create new file ksz9477.c from KSZ9477 code in ksz_common.c

From: Tristram.Ha
Date: Thu Sep 07 2017 - 18:21:30 EST


> -----Original Message-----
> From: Andrew Lunn [mailto:andrew@xxxxxxx]
> Sent: Thursday, September 07, 2017 2:33 PM
> To: Tristram Ha - C24268
> Cc: muvarov@xxxxxxxxx; pavel@xxxxxx; nathan.leigh.conrad@xxxxxxxxx;
> vivien.didelot@xxxxxxxxxxxxxxxxxxxx; f.fainelli@xxxxxxxxx;
> netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Woojung Huh - C21699
> Subject: Re: [PATCH RFC 2/6] Create new file ksz9477.c from KSZ9477 code in
> ksz_common.c
>
> On Thu, Sep 07, 2017 at 09:09:04PM +0000, Tristram.Ha@xxxxxxxxxxxxx wrote:
> > From: Tristram Ha <Tristram.Ha@xxxxxxxxxxxxx>
> >
> > Create new ksz9477.c file from original ksz_common.c.
> >
> > Signed-off-by: Tristram Ha <Tristram.Ha@xxxxxxxxxxxxx>
> > ---
> > diff --git a/drivers/net/dsa/microchip/ksz9477.c
> > b/drivers/net/dsa/microchip/ksz9477.c
> > new file mode 100644
> > index 0000000..bc722b4
> > --- /dev/null
> > +++ b/drivers/net/dsa/microchip/ksz9477.c
> > @@ -0,0 +1,1317 @@
> > +/*
> > + * Microchip switch driver main logic
> > + *
> > + * Copyright (C) 2017
> > + *
> > + * Permission to use, copy, modify, and/or distribute this software
> > +for any
> > + * purpose with or without fee is hereby granted, provided that the
> > +above
>
> Tristram
>
> It looks like something hand mangled this comment. "any" and "above"
> appear to be on a line on there own.
>
> > + * copyright notice and this permission notice appear in all copies.
> > + *
> > + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
> > +WARRANTIES
> > + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
> OF
> > + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE
> > +LIABLE FOR
> > + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
> > +DAMAGES
> > + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
> IN
> > +AN
> > + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
> ARISING
> > +OUT OF
> > + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
> > + */
> > +
> > +#include <linux/delay.h>
> > +#include <linux/export.h>
> > +#include <linux/gpio.h>
> > +#include <linux/kernel.h>
> > +#include <linux/module.h>
> > +#include <linux/platform_data/microchip-ksz.h>
> > +#include <linux/phy.h>
> > +#include <linux/etherdevice.h>
> > +#include <linux/if_bridge.h>
> > +#include <net/dsa.h>
> > +#include <net/switchdev.h>
> > +
> > +#include "ksz_priv.h"
> > +#include "ksz_9477_reg.h"
> > +
> > +static const struct {
> > + int index;
> > + char string[ETH_GSTRING_LEN];
> > +} mib_names[TOTAL_SWITCH_COUNTER_NUM] = {
> > + { 0x00, "rx_hi" },
> > + { 0x01, "rx_undersize" },
> > + { 0x02, "rx_fragments" },
> > + { 0x03, "rx_oversize" },
> > + { 0x04, "rx_jabbers" },
> > + { 0x05, "rx_symbol_err" },
> > + { 0x06, "rx_crc_err" },
> > + { 0x07, "rx_align_err" },
> > + { 0x08, "rx_mac_ctrl" },
> > + { 0x09, "rx_pause" },
> > + { 0x0A, "rx_bcast" },
> > + { 0x0B, "rx_mcast" },
> > + { 0x0C, "rx_ucast" },
> > + { 0x0D, "rx_64_or_less" },
> > + { 0x0E, "rx_65_127" },
> > + { 0x0F, "rx_128_255" },
> > + { 0x10, "rx_256_511" },
> > + { 0x11, "rx_512_1023" },
> > + { 0x12, "rx_1024_1522" },
> > + { 0x13, "rx_1523_2000" },
> > + { 0x14, "rx_2001" },
> > + { 0x15, "tx_hi" },
> > + { 0x16, "tx_late_col" },
> > + { 0x17, "tx_pause" },
> > + { 0x18, "tx_bcast" },
> > + { 0x19, "tx_mcast" },
> > + { 0x1A, "tx_ucast" },
> > + { 0x1B, "tx_deferred" },
> > + { 0x1C, "tx_total_col" },
> > + { 0x1D, "tx_exc_col" },
> > + { 0x1E, "tx_single_col" },
> > + { 0x1F, "tx_mult_col" },
> > + { 0x80, "rx_total" },
> > + { 0x81, "tx_total" },
> > + { 0x82, "rx_discards" },
> > + { 0x83, "tx_discards" },
> > +};
> > +
> > +static void ksz_cfg(struct ksz_device *dev, u32 addr, u8 bits, bool
> > +set) {
>
> More mangling? Should set be on the end of the previous line?
>
> > +static void read_table(struct dsa_switch *ds, u32 *table) {
> > + struct ksz_device *dev = ds->priv;
> > +
> > + ksz_read32(dev, REG_SW_ALU_VAL_A, &table[0]);
> > + ksz_read32(dev, REG_SW_ALU_VAL_B, &table[1]);
> > + ksz_read32(dev, REG_SW_ALU_VAL_C, &table[2]);
> > + ksz_read32(dev, REG_SW_ALU_VAL_D, &table[3]); }
> > +
> > +static void write_table(struct dsa_switch *ds, u32 *table) {
> > + struct ksz_device *dev = ds->priv;
> > +
> > + ksz_write32(dev, REG_SW_ALU_VAL_A, table[0]);
> > + ksz_write32(dev, REG_SW_ALU_VAL_B, table[1]);
> > + ksz_write32(dev, REG_SW_ALU_VAL_C, table[2]);
> > + ksz_write32(dev, REG_SW_ALU_VAL_D, table[3]); }
>
> More mangling? } at the end of a line?
>
> I will stop reading now and wait for a v2 this is not corrupt.
>
> Andrew

Sorry about that. It seems my e-mail system wraps the line too soon.