linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/2] MCAN: Add support for implementing transceiver as a phy
@ 2021-05-10  5:25 Aswath Govindraju
  2021-05-10  5:25 ` [PATCH v4 1/2] dt-bindings: net: can: Document transceiver implementation as phy Aswath Govindraju
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Aswath Govindraju @ 2021-05-10  5:25 UTC (permalink / raw)
  Cc: Chandrasekar Ramakrishnan, Wolfgang Grandegger,
	Marc Kleine-Budde, David S . Miller, Jakub Kicinski, Rob Herring,
	linux-can, netdev, devicetree, linux-kernel, Vignesh Raghavendra,
	Lokesh Vutla, Kishon Vijay Abraham I, Aswath Govindraju

The following series of patches add support for implementing the
transceiver as a phy of m_can_platform driver.

TCAN1042 has a standby signal that needs to be pulled high for
sending/receiving messages[1]. TCAN1043 has a enable signal along with
standby signal that needs to be pulled up for sending/receiving
messages[2], and other combinations of the two lines can be used to put the
transceiver in different states to reduce power consumption. On boards
like the AM654-idk and J721e-evm these signals are controlled using gpios.

These gpios are set in phy driver, and the transceiver can be put in
different states using phy API. The phy driver is added in the series [3].

This patch series is dependent on [4].

changes since v3:
- Added phy_power_off() in case of an error in m_can_open().

changes since v2:
- changed dev_err to dev_err_probe in patch 2
- used mcan_class instead of priv to assign max bit rate
- Picked up  Rob Herring's acked-by for patch 1

changes since v1:
- Used the API devm_phy_get_optional() instead of
  devm_of_phy_get_optional_by_index()

[1] - https://www.ti.com/lit/ds/symlink/tcan1042h.pdf
[2] - https://www.ti.com/lit/ds/symlink/tcan1043-q1.pdf
[3] - https://lore.kernel.org/patchwork/project/lkml/list/?series=498359
[4] - https://lore.kernel.org/patchwork/patch/1413286/

Faiz Abbas (2):
  dt-bindings: net: can: Document transceiver implementation as phy
  can: m_can: Add support for transceiver as phy

 .../devicetree/bindings/net/can/bosch,m_can.yaml    |  3 +++
 drivers/net/can/m_can/m_can.c                       | 11 +++++++++++
 drivers/net/can/m_can/m_can.h                       |  2 ++
 drivers/net/can/m_can/m_can_platform.c              | 13 +++++++++++++
 4 files changed, 29 insertions(+)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v4 1/2] dt-bindings: net: can: Document transceiver implementation as phy
  2021-05-10  5:25 [PATCH v4 0/2] MCAN: Add support for implementing transceiver as a phy Aswath Govindraju
@ 2021-05-10  5:25 ` Aswath Govindraju
  2021-05-10  5:25 ` [PATCH v4 2/2] can: m_can: Add support for transceiver " Aswath Govindraju
  2021-06-14 12:32 ` [PATCH v4 0/2] MCAN: Add support for implementing transceiver as a phy Aswath Govindraju
  2 siblings, 0 replies; 7+ messages in thread
From: Aswath Govindraju @ 2021-05-10  5:25 UTC (permalink / raw)
  Cc: Chandrasekar Ramakrishnan, Wolfgang Grandegger,
	Marc Kleine-Budde, David S . Miller, Jakub Kicinski, Rob Herring,
	linux-can, netdev, devicetree, linux-kernel, Vignesh Raghavendra,
	Lokesh Vutla, Kishon Vijay Abraham I, Aswath Govindraju

From: Faiz Abbas <faiz_abbas@ti.com>

Some transceivers need a configuration step (for example, pulling the
standby or enable lines) for them to start sending messages. The
transceiver can be implemented as a phy with the configuration done in the
phy driver. The bit rate limitation can the be obtained by the driver using
the phy node.

Document the above implementation in the bosch mcan bindings

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
Acked-by: Rob Herring <robh@kernel.org>
---
 Documentation/devicetree/bindings/net/can/bosch,m_can.yaml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
index 798fa5fb7bb2..25f74db46bae 100644
--- a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
+++ b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
@@ -109,6 +109,9 @@ properties:
   can-transceiver:
     $ref: can-transceiver.yaml#
 
+  phys:
+    maxItems: 1
+
 required:
   - compatible
   - reg
-- 
2.17.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v4 2/2] can: m_can: Add support for transceiver as phy
  2021-05-10  5:25 [PATCH v4 0/2] MCAN: Add support for implementing transceiver as a phy Aswath Govindraju
  2021-05-10  5:25 ` [PATCH v4 1/2] dt-bindings: net: can: Document transceiver implementation as phy Aswath Govindraju
@ 2021-05-10  5:25 ` Aswath Govindraju
  2021-07-24 17:56   ` Marc Kleine-Budde
  2021-06-14 12:32 ` [PATCH v4 0/2] MCAN: Add support for implementing transceiver as a phy Aswath Govindraju
  2 siblings, 1 reply; 7+ messages in thread
From: Aswath Govindraju @ 2021-05-10  5:25 UTC (permalink / raw)
  Cc: Chandrasekar Ramakrishnan, Wolfgang Grandegger,
	Marc Kleine-Budde, David S . Miller, Jakub Kicinski, Rob Herring,
	linux-can, netdev, devicetree, linux-kernel, Vignesh Raghavendra,
	Lokesh Vutla, Kishon Vijay Abraham I, Aswath Govindraju

From: Faiz Abbas <faiz_abbas@ti.com>

Add support for implementing transceiver node as phy. The max_bitrate is
obtained by getting a phy attribute.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
---
 drivers/net/can/m_can/m_can.c          | 11 +++++++++++
 drivers/net/can/m_can/m_can.h          |  2 ++
 drivers/net/can/m_can/m_can_platform.c | 13 +++++++++++++
 3 files changed, 26 insertions(+)

diff --git a/drivers/net/can/m_can/m_can.c b/drivers/net/can/m_can/m_can.c
index 3cf6de21d19c..afbecc35d3b6 100644
--- a/drivers/net/can/m_can/m_can.c
+++ b/drivers/net/can/m_can/m_can.c
@@ -21,6 +21,7 @@
 #include <linux/iopoll.h>
 #include <linux/can/dev.h>
 #include <linux/pinctrl/consumer.h>
+#include <linux/phy/phy.h>
 
 #include "m_can.h"
 
@@ -1514,6 +1515,7 @@ static void m_can_stop(struct net_device *dev)
 static int m_can_close(struct net_device *dev)
 {
 	struct m_can_classdev *cdev = netdev_priv(dev);
+	int err;
 
 	netif_stop_queue(dev);
 
@@ -1536,6 +1538,10 @@ static int m_can_close(struct net_device *dev)
 	close_candev(dev);
 	can_led_event(dev, CAN_LED_EVENT_STOP);
 
+	err = phy_power_off(cdev->transceiver);
+	if (err)
+		return err;
+
 	return 0;
 }
 
@@ -1721,6 +1727,10 @@ static int m_can_open(struct net_device *dev)
 	struct m_can_classdev *cdev = netdev_priv(dev);
 	int err;
 
+	err = phy_power_on(cdev->transceiver);
+	if (err)
+		return err;
+
 	err = m_can_clk_start(cdev);
 	if (err)
 		return err;
@@ -1781,6 +1791,7 @@ static int m_can_open(struct net_device *dev)
 	close_candev(dev);
 exit_disable_clks:
 	m_can_clk_stop(cdev);
+	phy_power_off(cdev->transceiver);
 	return err;
 }
 
diff --git a/drivers/net/can/m_can/m_can.h b/drivers/net/can/m_can/m_can.h
index ace071c3e58c..38cad068abad 100644
--- a/drivers/net/can/m_can/m_can.h
+++ b/drivers/net/can/m_can/m_can.h
@@ -28,6 +28,7 @@
 #include <linux/iopoll.h>
 #include <linux/can/dev.h>
 #include <linux/pinctrl/consumer.h>
+#include <linux/phy/phy.h>
 
 /* m_can lec values */
 enum m_can_lec_type {
@@ -82,6 +83,7 @@ struct m_can_classdev {
 	struct workqueue_struct *tx_wq;
 	struct work_struct tx_work;
 	struct sk_buff *tx_skb;
+	struct phy *transceiver;
 
 	struct can_bittiming_const *bit_timing;
 	struct can_bittiming_const *data_timing;
diff --git a/drivers/net/can/m_can/m_can_platform.c b/drivers/net/can/m_can/m_can_platform.c
index 599de0e08cd7..f102d532b7f0 100644
--- a/drivers/net/can/m_can/m_can_platform.c
+++ b/drivers/net/can/m_can/m_can_platform.c
@@ -6,6 +6,7 @@
 // Copyright (C) 2018-19 Texas Instruments Incorporated - http://www.ti.com/
 
 #include <linux/platform_device.h>
+#include <linux/phy/phy.h>
 
 #include "m_can.h"
 
@@ -67,6 +68,7 @@ static int m_can_plat_probe(struct platform_device *pdev)
 	struct resource *res;
 	void __iomem *addr;
 	void __iomem *mram_addr;
+	struct phy *transceiver;
 	int irq, ret = 0;
 
 	mcan_class = m_can_class_allocate_dev(&pdev->dev,
@@ -101,6 +103,16 @@ static int m_can_plat_probe(struct platform_device *pdev)
 		goto probe_fail;
 	}
 
+	transceiver = devm_phy_optional_get(&pdev->dev, NULL);
+	if (IS_ERR(transceiver)) {
+		ret = PTR_ERR(transceiver);
+		dev_err_probe(&pdev->dev, ret, "failed to get phy\n");
+		return ret;
+	}
+
+	if (transceiver)
+		mcan_class->can.bitrate_max = transceiver->attrs.max_link_rate;
+
 	priv->base = addr;
 	priv->mram_base = mram_addr;
 
@@ -108,6 +120,7 @@ static int m_can_plat_probe(struct platform_device *pdev)
 	mcan_class->pm_clock_support = 1;
 	mcan_class->can.clock.freq = clk_get_rate(mcan_class->cclk);
 	mcan_class->dev = &pdev->dev;
+	mcan_class->transceiver = transceiver;
 
 	mcan_class->ops = &m_can_plat_ops;
 
-- 
2.17.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v4 0/2] MCAN: Add support for implementing transceiver as a phy
  2021-05-10  5:25 [PATCH v4 0/2] MCAN: Add support for implementing transceiver as a phy Aswath Govindraju
  2021-05-10  5:25 ` [PATCH v4 1/2] dt-bindings: net: can: Document transceiver implementation as phy Aswath Govindraju
  2021-05-10  5:25 ` [PATCH v4 2/2] can: m_can: Add support for transceiver " Aswath Govindraju
@ 2021-06-14 12:32 ` Aswath Govindraju
  2021-06-16  9:17   ` Marc Kleine-Budde
  2 siblings, 1 reply; 7+ messages in thread
From: Aswath Govindraju @ 2021-06-14 12:32 UTC (permalink / raw)
  To: Marc Kleine-Budde
  Cc: Chandrasekar Ramakrishnan, Wolfgang Grandegger, David S . Miller,
	Jakub Kicinski, Rob Herring, linux-can, netdev, devicetree,
	linux-kernel, Vignesh Raghavendra, Lokesh Vutla,
	Kishon Vijay Abraham I

Hi Marc,

On 10/05/21 10:55 am, Aswath Govindraju wrote:
> The following series of patches add support for implementing the
> transceiver as a phy of m_can_platform driver.
> 
> TCAN1042 has a standby signal that needs to be pulled high for
> sending/receiving messages[1]. TCAN1043 has a enable signal along with
> standby signal that needs to be pulled up for sending/receiving
> messages[2], and other combinations of the two lines can be used to put the
> transceiver in different states to reduce power consumption. On boards
> like the AM654-idk and J721e-evm these signals are controlled using gpios.
> 
> These gpios are set in phy driver, and the transceiver can be put in
> different states using phy API. The phy driver is added in the series [3].
> 
> This patch series is dependent on [4].
> 

[4] is now part of linux-next

May I know if this series is okay to be picked up ?

Thanks,
Aswath

> changes since v3:
> - Added phy_power_off() in case of an error in m_can_open().
> 
> changes since v2:
> - changed dev_err to dev_err_probe in patch 2
> - used mcan_class instead of priv to assign max bit rate
> - Picked up  Rob Herring's acked-by for patch 1
> 
> changes since v1:
> - Used the API devm_phy_get_optional() instead of
>   devm_of_phy_get_optional_by_index()
> 
> [1] - https://www.ti.com/lit/ds/symlink/tcan1042h.pdf
> [2] - https://www.ti.com/lit/ds/symlink/tcan1043-q1.pdf
> [3] - https://lore.kernel.org/patchwork/project/lkml/list/?series=498359
> [4] - https://lore.kernel.org/patchwork/patch/1413286/
> 
> Faiz Abbas (2):
>   dt-bindings: net: can: Document transceiver implementation as phy
>   can: m_can: Add support for transceiver as phy
> 
>  .../devicetree/bindings/net/can/bosch,m_can.yaml    |  3 +++
>  drivers/net/can/m_can/m_can.c                       | 11 +++++++++++
>  drivers/net/can/m_can/m_can.h                       |  2 ++
>  drivers/net/can/m_can/m_can_platform.c              | 13 +++++++++++++
>  4 files changed, 29 insertions(+)

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v4 0/2] MCAN: Add support for implementing transceiver as a phy
  2021-06-14 12:32 ` [PATCH v4 0/2] MCAN: Add support for implementing transceiver as a phy Aswath Govindraju
@ 2021-06-16  9:17   ` Marc Kleine-Budde
  2021-07-19 14:17     ` Aswath Govindraju
  0 siblings, 1 reply; 7+ messages in thread
From: Marc Kleine-Budde @ 2021-06-16  9:17 UTC (permalink / raw)
  To: Aswath Govindraju
  Cc: Chandrasekar Ramakrishnan, Wolfgang Grandegger, David S . Miller,
	Jakub Kicinski, Rob Herring, linux-can, netdev, devicetree,
	linux-kernel, Vignesh Raghavendra, Lokesh Vutla,
	Kishon Vijay Abraham I

[-- Attachment #1: Type: text/plain, Size: 1415 bytes --]

On 14.06.2021 18:02:53, Aswath Govindraju wrote:
> Hi Marc,
> 
> On 10/05/21 10:55 am, Aswath Govindraju wrote:
> > The following series of patches add support for implementing the
> > transceiver as a phy of m_can_platform driver.
> > 
> > TCAN1042 has a standby signal that needs to be pulled high for
> > sending/receiving messages[1]. TCAN1043 has a enable signal along with
> > standby signal that needs to be pulled up for sending/receiving
> > messages[2], and other combinations of the two lines can be used to put the
> > transceiver in different states to reduce power consumption. On boards
> > like the AM654-idk and J721e-evm these signals are controlled using gpios.
> > 
> > These gpios are set in phy driver, and the transceiver can be put in
> > different states using phy API. The phy driver is added in the series [3].
> > 
> > This patch series is dependent on [4].
> > 
> 
> [4] is now part of linux-next
> 
> > [4] - https://lore.kernel.org/patchwork/patch/1413286/
>
> May I know if this series is okay to be picked up ?

As soon as this hits net-next/master I can pick up this series.

Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde           |
Embedded Linux                   | https://www.pengutronix.de  |
Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v4 0/2] MCAN: Add support for implementing transceiver as a phy
  2021-06-16  9:17   ` Marc Kleine-Budde
@ 2021-07-19 14:17     ` Aswath Govindraju
  0 siblings, 0 replies; 7+ messages in thread
From: Aswath Govindraju @ 2021-07-19 14:17 UTC (permalink / raw)
  To: Marc Kleine-Budde
  Cc: Chandrasekar Ramakrishnan, Wolfgang Grandegger, David S . Miller,
	Jakub Kicinski, Rob Herring, linux-can, netdev, devicetree,
	linux-kernel, Vignesh Raghavendra, Lokesh Vutla,
	Kishon Vijay Abraham I

Hi Marc,

On 16/06/21 2:47 pm, Marc Kleine-Budde wrote:
> On 14.06.2021 18:02:53, Aswath Govindraju wrote:
>> Hi Marc,
>>
>> On 10/05/21 10:55 am, Aswath Govindraju wrote:
>>> The following series of patches add support for implementing the
>>> transceiver as a phy of m_can_platform driver.
>>>
>>> TCAN1042 has a standby signal that needs to be pulled high for
>>> sending/receiving messages[1]. TCAN1043 has a enable signal along with
>>> standby signal that needs to be pulled up for sending/receiving
>>> messages[2], and other combinations of the two lines can be used to put the
>>> transceiver in different states to reduce power consumption. On boards
>>> like the AM654-idk and J721e-evm these signals are controlled using gpios.
>>>
>>> These gpios are set in phy driver, and the transceiver can be put in
>>> different states using phy API. The phy driver is added in the series [3].
>>>
>>> This patch series is dependent on [4].
>>>
>>
>> [4] is now part of linux-next
>>
>>> [4] - https://lore.kernel.org/patchwork/patch/1413286/
>>
>> May I know if this series is okay to be picked up ?
> 
> As soon as this hits net-next/master I can pick up this series.
> 

Thank you for reply.

I am planning on posting device tree patches to arm64 tree and
Nishanth(maintainer of the tree) requested for an immutable tag if the
dependent patches are not in master. So, after applying this patch
series, can you please provide an immutable tag ?

Thanks,
Aswath

> Marc
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v4 2/2] can: m_can: Add support for transceiver as phy
  2021-05-10  5:25 ` [PATCH v4 2/2] can: m_can: Add support for transceiver " Aswath Govindraju
@ 2021-07-24 17:56   ` Marc Kleine-Budde
  0 siblings, 0 replies; 7+ messages in thread
From: Marc Kleine-Budde @ 2021-07-24 17:56 UTC (permalink / raw)
  To: Aswath Govindraju
  Cc: Chandrasekar Ramakrishnan, Wolfgang Grandegger, David S . Miller,
	Jakub Kicinski, Rob Herring, linux-can, netdev, devicetree,
	linux-kernel, Vignesh Raghavendra, Lokesh Vutla,
	Kishon Vijay Abraham I

[-- Attachment #1: Type: text/plain, Size: 4644 bytes --]

On 10.05.2021 10:55:41, Aswath Govindraju wrote:
> From: Faiz Abbas <faiz_abbas@ti.com>
> 
> Add support for implementing transceiver node as phy. The max_bitrate is
> obtained by getting a phy attribute.
> 
> Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
> ---
>  drivers/net/can/m_can/m_can.c          | 11 +++++++++++
>  drivers/net/can/m_can/m_can.h          |  2 ++
>  drivers/net/can/m_can/m_can_platform.c | 13 +++++++++++++
>  3 files changed, 26 insertions(+)
> 
> diff --git a/drivers/net/can/m_can/m_can.c b/drivers/net/can/m_can/m_can.c
> index 3cf6de21d19c..afbecc35d3b6 100644
> --- a/drivers/net/can/m_can/m_can.c
> +++ b/drivers/net/can/m_can/m_can.c
> @@ -21,6 +21,7 @@
>  #include <linux/iopoll.h>
>  #include <linux/can/dev.h>
>  #include <linux/pinctrl/consumer.h>
> +#include <linux/phy/phy.h>
>  
>  #include "m_can.h"
>  
> @@ -1514,6 +1515,7 @@ static void m_can_stop(struct net_device *dev)
>  static int m_can_close(struct net_device *dev)
>  {
>  	struct m_can_classdev *cdev = netdev_priv(dev);
> +	int err;
>  
>  	netif_stop_queue(dev);
>  
> @@ -1536,6 +1538,10 @@ static int m_can_close(struct net_device *dev)
>  	close_candev(dev);
>  	can_led_event(dev, CAN_LED_EVENT_STOP);
>  
> +	err = phy_power_off(cdev->transceiver);
> +	if (err)
> +		return err;

No need to propagate errors in the close().

> +
>  	return 0;
>  }
>  
> @@ -1721,6 +1727,10 @@ static int m_can_open(struct net_device *dev)
>  	struct m_can_classdev *cdev = netdev_priv(dev);
>  	int err;
>  
> +	err = phy_power_on(cdev->transceiver);
> +	if (err)
> +		return err;
> +
>  	err = m_can_clk_start(cdev);
>  	if (err)
>  		return err;

Here, don't handle the error properly.

> @@ -1781,6 +1791,7 @@ static int m_can_open(struct net_device *dev)
>  	close_candev(dev);
>  exit_disable_clks:
>  	m_can_clk_stop(cdev);
> +	phy_power_off(cdev->transceiver);
>  	return err;
>  }
>  
> diff --git a/drivers/net/can/m_can/m_can.h b/drivers/net/can/m_can/m_can.h
> index ace071c3e58c..38cad068abad 100644
> --- a/drivers/net/can/m_can/m_can.h
> +++ b/drivers/net/can/m_can/m_can.h
> @@ -28,6 +28,7 @@
>  #include <linux/iopoll.h>
>  #include <linux/can/dev.h>
>  #include <linux/pinctrl/consumer.h>
> +#include <linux/phy/phy.h>
>  
>  /* m_can lec values */
>  enum m_can_lec_type {
> @@ -82,6 +83,7 @@ struct m_can_classdev {
>  	struct workqueue_struct *tx_wq;
>  	struct work_struct tx_work;
>  	struct sk_buff *tx_skb;
> +	struct phy *transceiver;
>  
>  	struct can_bittiming_const *bit_timing;
>  	struct can_bittiming_const *data_timing;
> diff --git a/drivers/net/can/m_can/m_can_platform.c b/drivers/net/can/m_can/m_can_platform.c
> index 599de0e08cd7..f102d532b7f0 100644
> --- a/drivers/net/can/m_can/m_can_platform.c
> +++ b/drivers/net/can/m_can/m_can_platform.c
> @@ -6,6 +6,7 @@
>  // Copyright (C) 2018-19 Texas Instruments Incorporated - http://www.ti.com/
>  
>  #include <linux/platform_device.h>
> +#include <linux/phy/phy.h>
>  
>  #include "m_can.h"
>  
> @@ -67,6 +68,7 @@ static int m_can_plat_probe(struct platform_device *pdev)
>  	struct resource *res;
>  	void __iomem *addr;
>  	void __iomem *mram_addr;
> +	struct phy *transceiver;
>  	int irq, ret = 0;
>  
>  	mcan_class = m_can_class_allocate_dev(&pdev->dev,
> @@ -101,6 +103,16 @@ static int m_can_plat_probe(struct platform_device *pdev)
>  		goto probe_fail;
>  	}
>  
> +	transceiver = devm_phy_optional_get(&pdev->dev, NULL);
> +	if (IS_ERR(transceiver)) {
> +		ret = PTR_ERR(transceiver);
> +		dev_err_probe(&pdev->dev, ret, "failed to get phy\n");
> +		return ret;

Here you leak the memory allocated by m_can_class_allocate_dev().

> +	}
> +
> +	if (transceiver)
> +		mcan_class->can.bitrate_max = transceiver->attrs.max_link_rate;
> +
>  	priv->base = addr;
>  	priv->mram_base = mram_addr;
>  
> @@ -108,6 +120,7 @@ static int m_can_plat_probe(struct platform_device *pdev)
>  	mcan_class->pm_clock_support = 1;
>  	mcan_class->can.clock.freq = clk_get_rate(mcan_class->cclk);
>  	mcan_class->dev = &pdev->dev;
> +	mcan_class->transceiver = transceiver;
>  
>  	mcan_class->ops = &m_can_plat_ops;
>  
> -- 
> 2.17.1
> 
>

I've send a v5 fixing these problems.

regards,
Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde           |
Embedded Linux                   | https://www.pengutronix.de  |
Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-07-24 17:56 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-10  5:25 [PATCH v4 0/2] MCAN: Add support for implementing transceiver as a phy Aswath Govindraju
2021-05-10  5:25 ` [PATCH v4 1/2] dt-bindings: net: can: Document transceiver implementation as phy Aswath Govindraju
2021-05-10  5:25 ` [PATCH v4 2/2] can: m_can: Add support for transceiver " Aswath Govindraju
2021-07-24 17:56   ` Marc Kleine-Budde
2021-06-14 12:32 ` [PATCH v4 0/2] MCAN: Add support for implementing transceiver as a phy Aswath Govindraju
2021-06-16  9:17   ` Marc Kleine-Budde
2021-07-19 14:17     ` Aswath Govindraju

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).