netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/1] alx driver
@ 2013-06-10 21:26 Johannes Berg
  2013-06-10 21:26 ` [PATCH 1/1] alx: add a simple AR816x/AR817x device driver Johannes Berg
                   ` (4 more replies)
  0 siblings, 5 replies; 41+ messages in thread
From: Johannes Berg @ 2013-06-10 21:26 UTC (permalink / raw)
  To: netdev; +Cc: mcgrof, kvalo, adrian.chadd

So ... I was stupid enough to not research drivers for this device
before buying a board that included one, I figured in 2013 it wasn't
really possible for such a simple gigabit ethernet device to not
have a driver in Linux.

Boy was I wrong.

The vendor driver was previously posted on netdev, and subsequently
somewhat cleaned up, but ... it still had useless hand-rolled locks
(with test_and_set_bit/msleep!), horrible macros, and was generally
quite a mess.

I do have to admit that I'm not very familiar with all the netdev
APIs, since wireless devices are so slow that NAPI etc. hardly
matters. In a way, this is also me learning about it since we'll be
betting faster wireless too :-)

I hope I did an OK job at cleaning it up/rewriting it, but while I
thought about the locking for a while, or rather the lack thereof,
I'm not entirely sure that it's completely safe. It seemed to me
that since we have TX/RX all done from NAPI it won't actually have
to be reentrant/locked.

Also, I kept the FIELD macros, which seemed wrong at first but the
code didn't get nicer w/o them. I did fix them for endianness and
converted some to inlines; I don't get why they actually had endian
annotations and even turned on the sparse checks by default only to
then ignore all the errors it was giving. I'll happily kill these
if anyone thinks that would be better.

Anyway, as I said, I'm not very good at ethernet drivers, so let me
know what I need to fix.

Maybe the responsible QCA folks can actually add back the features
that I liberally pruned from the driver.

johannes

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

end of thread, other threads:[~2013-06-25 18:25 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-10 21:26 [PATCH 0/1] alx driver Johannes Berg
2013-06-10 21:26 ` [PATCH 1/1] alx: add a simple AR816x/AR817x device driver Johannes Berg
2013-06-10 21:29 ` [PATCH v2 " Johannes Berg
2013-06-11 22:23   ` Francois Romieu
2013-06-12 18:02     ` Johannes Berg
2013-06-18  1:18   ` Ben Hutchings
2013-06-20 21:40     ` Johannes Berg
2013-06-20 21:58       ` Ben Hutchings
2013-06-20 22:09         ` Johannes Berg
2013-06-21 12:45           ` Ben Hutchings
2013-06-21 20:42             ` Johannes Berg
2013-06-21 21:39               ` Ben Hutchings
2013-06-22 10:17       ` Johannes Stezenbach
2013-06-22 14:21         ` Ben Hutchings
2013-06-25 18:24         ` Johannes Berg
2013-06-12  7:11 ` [PATCH 0/1] alx driver Johannes Stezenbach
2013-06-12 18:00   ` Johannes Berg
2013-06-12 20:33 ` [PATCH] alx: add a simple AR816x/AR817x device driver Johannes Berg
2013-06-12 20:48   ` Stephen Hemminger
2013-06-12 20:51     ` Johannes Berg
2013-06-12 23:02   ` Francois Romieu
2013-06-13  3:46     ` Joe Perches
2013-06-13  6:47       ` Francois Romieu
2013-06-13 21:52     ` Johannes Berg
2013-06-13 23:03       ` Francois Romieu
2013-06-15 18:38         ` Johannes Berg
2013-06-13 22:24   ` Johannes Stezenbach
2013-06-13 22:29     ` Johannes Berg
2013-06-14  5:53       ` Johannes Stezenbach
2013-06-15 18:26         ` Johannes Berg
2013-06-15 20:15           ` Johannes Berg
2013-06-16  9:49             ` Johannes Stezenbach
2013-06-16 11:17               ` Johannes Berg
2013-06-16 17:48                 ` Johannes Stezenbach
2013-06-16 18:06                   ` Johannes Stezenbach
2013-06-16 18:42                   ` Johannes Stezenbach
2013-06-16 19:41                     ` Johannes Berg
2013-06-16 20:37                       ` Johannes Stezenbach
2013-06-16 12:14               ` Johannes Berg
2013-06-17 20:44 ` [PATCH v4] " Johannes Berg
2013-06-17 23:05   ` David Miller

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).