Hi Robert,
> static int __init bsr_init(void)
> {
>        struct device_node *np;
>        dev_t bsr_dev = MKDEV(bsr_major, 0);   <--- ????????
You are right, this seems to be completely useless.
Go on make a patch, compile and send it.
thanks,
Daniel.