On Fri. 20 Jan 2023 at 01:15, Gerhard Uttenthaler <uttenthaler@xxxxxxxxxxxxxxxx> wrote: > Added functions to read and write SJA1000 registers and also the > post irq routine > > Signed-off-by: Gerhard Uttenthaler <uttenthaler@xxxxxxxxxxxxxxxx> > --- > drivers/net/can/sja1000/ems_pci.c | 25 ++++++++++++++++++++++++- > 1 file changed, 24 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/can/sja1000/ems_pci.c b/drivers/net/can/sja1000/ems_pci.c > index be61d39149c4..338233a5d337 100644 > --- a/drivers/net/can/sja1000/ems_pci.c > +++ b/drivers/net/can/sja1000/ems_pci.c > @@ -172,6 +172,24 @@ static void ems_pci_v2_post_irq(const struct sja1000_priv *priv) > writel(PLX_ICSR_ENA_CLR, card->conf_addr + PLX_ICSR); > } > > +static u8 ems_pci_v3_read_reg(const struct sja1000_priv *priv, int port) > +{ > + return readb(priv->reg_base + port); > +} > + > +static void ems_pci_v3_write_reg(const struct sja1000_priv *priv, > + int port, u8 val) > +{ > + writeb(val, priv->reg_base + port); > +} > + > +static void ems_pci_v3_post_irq(const struct sja1000_priv *priv) > +{ > + struct ems_pci_card *card = (struct ems_pci_card *)priv->priv; > + > + writel(ASIX_LINTSR_INT0AC, card->conf_addr + ASIX_LINTSR); > +} > + > /* Check if a CAN controller is present at the specified location > * by trying to set 'em into the PeliCAN mode > */ > @@ -265,6 +283,7 @@ static int ems_pci_add_card(struct pci_dev *pdev, > conf_bar = EMS_PCI_V3_CONF_BAR; > conf_size = EMS_PCI_V3_CONF_SIZE; > } else if (pdev->vendor == PCI_VENDOR_ID_PLX) { > + No newline here. I see that you fix it in PATCH 8/8, so this is an obvious squash issue. > card->version = 2; /* CPC-PCI v2 */ > max_chan = EMS_PCI_V2_MAX_CHAN; > base_bar = EMS_PCI_V2_BASE_BAR; > @@ -330,10 +349,14 @@ static int ems_pci_add_card(struct pci_dev *pdev, > priv->read_reg = ems_pci_v1_read_reg; > priv->write_reg = ems_pci_v1_write_reg; > priv->post_irq = ems_pci_v1_post_irq; > - } else { > + } else if (card->version == 2) { > priv->read_reg = ems_pci_v2_read_reg; > priv->write_reg = ems_pci_v2_write_reg; > priv->post_irq = ems_pci_v2_post_irq; > + } else { > + priv->read_reg = ems_pci_v3_read_reg; > + priv->write_reg = ems_pci_v3_write_reg; > + priv->post_irq = ems_pci_v3_post_irq; > } > > /* Check if channel is present */ > -- > 2.35.3 > > -- > EMS Dr. Thomas Wuensche e.K. > Sonnenhang 3 > 85304 Ilmmuenster > HR Ingolstadt, HRA 170106 > > Phone: +49-8441-490260 > Fax : +49-8441-81860 > http://www.ems-wuensche.com