All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oliver Hartkopp <socketcan@hartkopp.net>
To: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: "Max S." <max@schneidersoft.net>, linux-can <linux-can@vger.kernel.org>
Subject: Re: Usb to can driver
Date: Wed, 24 Apr 2013 19:40:23 +0200	[thread overview]
Message-ID: <51781907.3030306@hartkopp.net> (raw)
In-Reply-To: <51780336.5060800@pengutronix.de>

On 24.04.2013 18:07, Marc Kleine-Budde wrote:

> On 04/24/2013 05:48 PM, Max S. wrote:


>> The device can then tell how the host prefers its can frames formatted.
>> The idea is that the struct device_config holds enough data to allow the
>> device to construct a struct ss_host_frame in host format, including
>> padding & byte order.
> 
> Nice.
> 
>> since a struct ss_host_frame is simply a wrapper that includes a struct
>> can_frame, when a message arrives from the device, the host can copy the
>> struct can frame member without modification from the struct
>> ss_host_frame into the skb.
>>
>> assumptions that are made:
>> * The sizes of the struct can_frame members are id:u32 dlc:u8 data:u64 .
>> * It is also assumed that existing defines like CAN_EFF_FLAG in can.h
>> and can/error.h don't change, as they are used by the device to
>> construct the can_id field.
> 
> You cannot rely in your firmware, that the struct can_frame and
> CAN_*_FLAG doesn't change. Please define your own struct.
> 


Hm - i really appreciate the memcopy-only approach which can cope with the
host byte order directly. This is a real improvement on the host side.

The struct can_frame and the error message content is official Kernel API and
therefore can be assumed to be fix.

Btw. extensions like the introduction of the struct canfd_frame can always
take place. But this comes along with really new functionality then.

I would like to continue with the memcopy approach - but we probably need some
frame type identifier to be able to handle different host CAN frames, like
struct can_frame and struct canfd_frame, ...

Regards,
Oliver


  reply	other threads:[~2013-04-24 17:40 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-23 17:15 Usb to can driver Max S.
2013-04-23 21:47 ` Marc Kleine-Budde
2013-04-24 15:48   ` Max S.
2013-04-24 16:07     ` Marc Kleine-Budde
2013-04-24 17:40       ` Oliver Hartkopp [this message]
2013-04-24 21:24         ` Marc Kleine-Budde
2013-04-25 23:35           ` Max S.
2013-04-26  5:25             ` Oliver Hartkopp
2013-04-26  8:55               ` Kurt Van Dijck
2013-04-26  8:26             ` Marc Kleine-Budde
2013-04-24 21:33       ` Max S.
2013-05-02 11:07         ` Marc Kleine-Budde
2013-05-02 11:09           ` Marc Kleine-Budde
2013-05-02 11:30           ` Wolfgang Grandegger
2013-05-02 11:32             ` Marc Kleine-Budde
2013-05-16 11:40         ` Marc Kleine-Budde
2013-06-04 13:18           ` Max S.
2013-06-04 14:40             ` Wolfgang Grandegger
2013-06-04 14:41             ` Marc Kleine-Budde
2013-04-24  6:38 ` Sven Geggus
  -- strict thread matches above, loose matches on Subject: below --
2013-06-25 23:59 Max S.
2013-06-26  7:10 ` wg
2013-06-26 18:55   ` Max S.
2013-06-26 18:58     ` Marc Kleine-Budde
     [not found]       ` <1372810462.15632.2.camel@blackbox>
2013-07-03  7:55         ` Marc Kleine-Budde

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51781907.3030306@hartkopp.net \
    --to=socketcan@hartkopp.net \
    --cc=linux-can@vger.kernel.org \
    --cc=max@schneidersoft.net \
    --cc=mkl@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.