Commit 747fdd47 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge tag 'linux-can-next-for-5.12-20210114' of...

Merge tag 'linux-can-next-for-5.12-20210114' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next

Marc Kleine-Budde says:

====================
pull-request: can-next 2021-01-14

The first two patches update the MAINTAINERS file, Lukas Bulwahn's patch fixes
the files entry for the tcan4x5x driver, which was broken by me in net-next.
A patch by me adds the a missing header file to the CAN Networking Layer.

The next 5 patches are by me and split the the CAN driver related
infrastructure code into more files in a separate subdir. The next two patches
by me clean up the CAN length related code. This is followed by 6 patches by
Vincent Mailhol and me, they add helper code for for CAN frame length
calculation neede for BQL support.

A patch by Vincent Mailhol adds software TX timestamp support.

The last patch is by me, targets the tcan4x5x driver, and removes the unneeded
__packed attribute from the struct tcan4x5x_map_buf.

* tag 'linux-can-next-for-5.12-20210114' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next:
  can: tcan4x5x: remove __packed attribute from struct tcan4x5x_map_buf
  can: dev: can_put_echo_skb(): add software tx timestamps
  can: dev: can_rx_offload_get_echo_skb(): extend to return can frame length
  can: dev: can_get_echo_skb(): extend to return can frame length
  can: dev: can_put_echo_skb(): extend to handle frame_len
  can: dev: extend struct can_skb_priv to hold CAN frame length
  can: length: can_skb_get_frame_len(): introduce function to get data length of frame in data link layer
  can: length: canfd_sanitize_len(): add function to sanitize CAN-FD data length
  can: length: can_fd_len2dlc(): simplify length calculcation
  can: length: convert to kernel coding style
  can: dev: move netlink related code into seperate file
  can: dev: move skb related into seperate file
  can: dev: move length related code into seperate file
  can: dev: move bittiming related code into seperate file
  can: dev: move driver related infrastructure into separate subdir
  MAINTAINERS: CAN network layer: add missing header file can-ml.h
  MAINTAINERS: adjust entry to tcan4x5x file split
====================

Link: https://lore.kernel.org/r/20210114075617.1402597-1-mkl@pengutronix.de


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents 22a8a230 1105592c
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -3943,8 +3943,10 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next.git
F:	Documentation/devicetree/bindings/net/can/
F:	drivers/net/can/
F:	include/linux/can/bittiming.h
F:	include/linux/can/dev.h
F:	include/linux/can/led.h
F:	include/linux/can/length.h
F:	include/linux/can/platform/
F:	include/linux/can/rx-offload.h
F:	include/uapi/linux/can/error.h
@@ -3960,6 +3962,7 @@ W: https://github.com/linux-can
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next.git
F:	Documentation/networking/can.rst
F:	include/linux/can/can-ml.h
F:	include/linux/can/core.h
F:	include/linux/can/skb.h
F:	include/net/netns/can.h
@@ -17839,7 +17842,7 @@ M: Dan Murphy <dmurphy@ti.com>
L:	linux-can@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/net/can/tcan4x5x.txt
F:	drivers/net/can/m_can/tcan4x5x.c
F:	drivers/net/can/m_can/tcan4x5x*
TI TRF7970A NFC DRIVER
M:	Mark Greer <mgreer@animalcreek.com>
+1 −6
Original line number Diff line number Diff line
@@ -7,12 +7,7 @@ obj-$(CONFIG_CAN_VCAN) += vcan.o
obj-$(CONFIG_CAN_VXCAN)		+= vxcan.o
obj-$(CONFIG_CAN_SLCAN)		+= slcan.o

obj-$(CONFIG_CAN_DEV)		+= can-dev.o
can-dev-y			+= dev.o
can-dev-y			+= rx-offload.o

can-dev-$(CONFIG_CAN_LEDS)	+= led.o

obj-y				+= dev/
obj-y				+= rcar/
obj-y				+= spi/
obj-y				+= usb/
+2 −2
Original line number Diff line number Diff line
@@ -484,7 +484,7 @@ static netdev_tx_t at91_start_xmit(struct sk_buff *skb, struct net_device *dev)
	stats->tx_bytes += cf->len;

	/* _NOTE_: subtract AT91_MB_TX_FIRST offset from mb! */
	can_put_echo_skb(skb, dev, mb - get_mb_tx_first(priv));
	can_put_echo_skb(skb, dev, mb - get_mb_tx_first(priv), 0);

	/*
	 * we have to stop the queue and deliver all messages in case
@@ -856,7 +856,7 @@ static void at91_irq_tx(struct net_device *dev, u32 reg_sr)
		if (likely(reg_msr & AT91_MSR_MRDY &&
			   ~reg_msr & AT91_MSR_MABT)) {
			/* _NOTE_: subtract AT91_MB_TX_FIRST offset from mb! */
			can_get_echo_skb(dev, mb - get_mb_tx_first(priv));
			can_get_echo_skb(dev, mb - get_mb_tx_first(priv), NULL);
			dev->stats.tx_packets++;
			can_led_event(dev, CAN_LED_EVENT_TX);
		}
+2 −2
Original line number Diff line number Diff line
@@ -476,7 +476,7 @@ static netdev_tx_t c_can_start_xmit(struct sk_buff *skb,
	 */
	c_can_setup_tx_object(dev, IF_TX, frame, idx);
	priv->dlc[idx] = frame->len;
	can_put_echo_skb(skb, dev, idx);
	can_put_echo_skb(skb, dev, idx, 0);

	/* Update the active bits */
	atomic_add((1 << idx), &priv->tx_active);
@@ -733,7 +733,7 @@ static void c_can_do_tx(struct net_device *dev)
		pend &= ~(1 << idx);
		obj = idx + C_CAN_MSG_OBJ_TX_FIRST;
		c_can_inval_tx_object(dev, IF_RX, obj);
		can_get_echo_skb(dev, idx);
		can_get_echo_skb(dev, idx, NULL);
		bytes += priv->dlc[idx];
		pkts++;
	}
+2 −2
Original line number Diff line number Diff line
@@ -702,8 +702,8 @@ static void cc770_tx_interrupt(struct net_device *dev, unsigned int o)
	stats->tx_bytes += cf->len;
	stats->tx_packets++;

	can_put_echo_skb(priv->tx_skb, dev, 0);
	can_get_echo_skb(dev, 0);
	can_put_echo_skb(priv->tx_skb, dev, 0, 0);
	can_get_echo_skb(dev, 0, NULL);
	priv->tx_skb = NULL;

	netif_wake_queue(dev);
Loading