Search Linux Wireless

Re: [PATCH v5 1/2] wireless: Driver for 60GHz card wil6210

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

 



Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> writes:

>> Please see
>> ath6kl's struct wmi_begin_scan_cmd on wmi.h for an example
>> of how to specify endianess to ensure that you can use this
>> driver on big or little endian. So although its great you
>> managed to successfully use sparse with -D__CHECK_ENDIAN__
>> endianess may be broken on this command and all over your
>> wmi.h. I won't even review that file then.
>
> I know about __le16 etc., but I have no big endian host to check it with. 
> Thus, I'd prefer to mention that code is not ready for big endian platform 
> rather then submit untested code. If there is a way to check endiannes without 
> having big endian host, I'd be happy to know.
> Also, is there a good way to check in Kconfig we are on Little endian?

I think this is wrong aproach. The endian support doesn't need to be
perfect, especially if you don't have any hardware to test with. Just
add endian annotations to all the fields you know of, run sparse and fix
the warnings. This should only take few hours and is much better than
refusing to compile on big endian machines.

You will get very close to a working code with that method, and it means
that all future code will have endian support "automatically" (as the
code will follow the style already used in the driver). And whenever
someone will try the driver in a big endian machine there's less to
debug and fix, with very good luck (and careful review!) it might even
work out of box :)

-- 
Kalle Valo
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux