udev
Having lots of fun with it, made up a script that names your cdrom drive based apon what cd is in it at the time it is plugged in. Just shows how silly and powerful udev is becoming.
udev
Having lots of fun with it, made up a script that names your cdrom drive based apon what cd is in it at the time it is plugged in. Just shows how silly and powerful udev is becoming.
Hm, need to remember to use this more often...
Another year gone by...
Let's keep this simple:
kernel stuff
That's a pretty good year...
- Ported the i2c/sensor code to 2.6 and got it in the tree.
- Took over the maintainership of I2C and PCI in the kernel.
- Solved the Linux device persistant naming problem with udev
- Got a zillion patches into the kernel tree.
Wow, it's been forever, but I'm stalling while I should be working on my linux.conf.au paper...
Zaitcev thanks for that USB patch. It was one of those things that I always knew was not quite right, but never bothered me enough to fix properly. Unfortunaly, there's probably lots of tiny pieces of the kernel that exist like that.
And thanks for keeping that broken patch out of Red Hat, I've had to defend not taking that patch too many times, even from people at work, with them pointing to SuSE as a reason to accept it...
Bah, back to the paper...
First two of us get called an axis, and then this picture from OLS 2002 gets out, finally people are realizing...Been playing with Movable Type so as to have a blog on my own site. Pretty fun, and much nicer than the hack of scripts I used to have that I used a long time ago to try to keep a log of what I was doing.
Finally got out lots of PCI core patches today. Problem was they touched all of the different archs code, so it took quite some time trying to fix up everything, luckily I didn't have to do the majority of the work :)65 patches in 48 hours, I think I need a rest this weekend away from the computer...
Ahh goingware is
looking at doing embedded work.
I started out doing embedded programming, and over the years realized that I
was doing OS programming (right on the hardware, size restrictions, dealing
with nasty, undocumented electronics, etc.) and started playing with Linux
drivers as I saw somewhere I could help out. Flash forward to today, and I'm
doing pure kernel work (but still dealing with the same constraints of embedded
work.) In short, if you're comfortable writing kernel driver code, writing
embedded code is a very short step.
Unfortunately, I second Zaitcev's statement about
embedded programmers personalities and the general state of the environment in
which they work. Typically you are working at a hardware based company, and
have to live with design decisions made by people focused on the bottom line of
product cost (remember, in production the firmware is free, and no one will
recall the 6 months that it took you to get a beeper not to warble, even though
they could have solved it with a 5 cent part in the design up front.) Because
the company started out as a hardware environment, no one will understand the
programmer's point of view, and you will be rarely brought into the hardware
design process (or if you will, you will be ignored by them, as "they could
produce the required code in this size EEPROM").
That being said, I loved it, but hey, I love writing Linux kernel drivers, what
kind of a person likes doing that? :)
On a related note, I would like to publicly apologize to the Cygnus employee
that I talked to at the 1997 Embedded Programmers Conference, and asked "what
are you all doing here, I thought gcc was free?" I later realized what a jerk
I sounded like, and I hope you are retired somewhere on an island due to the
buyout by Red Hat :)
Bleah, I've not posted in forever, I'll try to do better next time...
Some things in the past:
OLS 2002 and the Kernel Summit
I went there all nervous about a proposal that Pat Mochel and I were making about driverfs and /sbin/hotplug. Basically we are wanting to move all of the existing device naming policy out into userspace. Well, our worse nightmare happened, everyone loved it and wants it right now :)
So now we're madly scrambling to get this done by 2.6. The main driverfs changes are now in the 2.5 tree and most of the core driver and now class changes are too. The PCI driver code is converted, and I've been posting patches to convert the USB core and driver code to the new model.
We might just make it yet...
PCI Hotplug
The PCI Hotplug code is very broken in 2.5, and need to fix that up. Unfortunately we changed the pci_ops structure, so have a ton of patches to fix all of that up to get in before I can go back to the hotplug stuff.
2.4 is looking good, and the ACPI PCI Hotplug driver is working remarkably well (as well as ACPI can work.)
Linux USB
Zillion of patches sent to Linus to clean up __FUNCTION__ stuff last night. A ton more to Marcelo for 2.4 to backport the usb-serial stuff that has been in 2.5 for a while. Now that this is done, other backporting can happen, depending on what other people really want.
Articles
For some reason Linux Journal trusts me enough to write a column. This should be fun...
Catching up on stuff...
PCI Hotplug
Things have been pretty quiet with the code lately. I've been playing with the ACPI version of the driver on a machine in the lab at work, and it is almost working properly... At least until the next ACPI update comes along and changes everything again :)
Made a new release of pcihpview this time making .rpm packages up to try to relieve all of the questions I had to answer about building the program from the tarball.
Linux USB
More tiny fixes all the time. I want to sync up with all of the USB changes in the -dj kernel, so will attempt to get that finished tonight.
Articles
Been having quite a run of articles published lately:Hopefully they help people out.
- How the PCI Hot Plug Driver Filesystem Works is in the May 2002 issue of Linux Journal.
- Writing Portable Device Drivers is in the May/June 2002 issue of Embedded Linux Journal.
OLS
OLS looks to be a lot of fun this year. My talk is on the first day, so it will be nice to get it over and have fun going to the other talks. It looks like there are a lot of very good papers being presented.Misplaced anger
In working on syncing up the USB code in the -dj kernel into the latest 2.5 tree, I ran across this rant about the use of EXPORT_SYMBOL_GPL() in the kernel tree. As the first person who used this macro, I don't have much sympathy.
Also pay attention to the last sentence of the second to last paragraph of that page, I think that says it all :)
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!