Quote:

1. I was planning to use the DTR output as the pullup resistor +5V source. But it looks like it's deasserted (-5V). Most rs-232 DTEs assert DTR. I can turn it on in my driver, but is it used for something else?


I think it is available. The docking connector uses CTS for "headlight", and CD for "telephone mute", but DTR seems to have no non-standard (RS232) use.

Quote:

2. I'm currenly using fprintf(empeg_notify_fp,"SERIAL=#fid\n") to queue the song. But I was thinking of using the "write" portion of my driver to "notify" the Hijack kernel directly. I've looked at notify.c, but I'm not sure which function to call.


The implementation of "SERIAL=" itself calls hijack_serial_rx_insert(the_string, strlen(the_string, 1)), where the_string must include a trailing '\n' (newline).

Quote:

3. I'm using down(&sem) but I'd like to use down_interrruptable. When I do, I get an unresolved external. I #include <asm-arm/semaphore.h> but it doesn't help.


That's weird. down_interruptible() is a kernel inline function, so it doesn't really exist at run/link time. Don't even thing about declaring it with a function prototype or extern line. The correct include file is asm/semphore.h, but if that's not working for you, then you could try including asm/proc/semaphore.h before it.

Quote:

4. What's the best licence to release under (e.g. BSD)?


You have no choice for the kernel module: GPLv2. For the rest, LGPL or GPL are both good (IMHO). With full souce code released, BSD is also decent.

Quote:

5. I'd like to release the code, but I probably need some sort of "code review" for my kernel / driver changes. Can anyone help out?


Just release it, and anyone who cares will eventually have a peek at it. That's the whole idea for open source stuff!


Quote:

6. How do I pick a "real" device MAJOR number?


It varies, depending upon the kernel version. For the empeg kernel, the simplest is to just re-use an existing one that never had meaning on an empeg. But there is some documentation for your exact question in the Documentation/devices.txt file from the kernel source tree.

Cheers!