Could I ask you what precisely is the driver you are talking about doing? Why is it not going to be a part of mainline kernel (i.e. being able to be put on blacklist easily).It's a tiny driver and it hardy can be a part of the mainline kernel because of its useless for everyone but me, beside I don't want to make someone modify the kernel code. For example, I've written this driver, than someone who wanna use it takes the code and tries to deal with it and he finds out that he also needs to have the latest kernel (where the device is included to that black list) or to fix the kernel himself. It's rather uncomfortable for a person who just wants to use a simple device with a simple driver, isn't it? It'll be great if my driver can manage it himself.
Sure, there are such in-kernel drivers ... for example Wacom driver. This driver is in-kernel, and it is hooked inside the usb_hid_configure() function to be ignored by the HID layer completely, and all the driver specific handling is handled in drivers/usb/input/wacom*.As far as I remember this driver modifies the HID driver... it's what I was talking about late.
(When looking at that code, it looks quite ugly by the way. I have no idea why wacom driver is not using HID_QUIRK_IGNORE, but has a hardcoded hook in the usb_hid_configure() instead. I will probably fix this.)