Re: [PATCH 4/8] can: ems_pci: Added read/write register and post irq functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux