On 31/07/13 16:18,
matthewri...@gmail.com wrote:
> It looks like in function
> |
> serial_omap_get_divisor
> |
> is where a change needs to be made.
> |
> if(baud >OMAP_MODE13X_SPEED &&baud !=3000000)
> |
> should be
> |
> if(baud >OMAP_MODE13X_SPEED &&(baud %500000))
> |
> which would allow 500k, 1m, 1.5m, and 3m. Right?
>
> So, where is this file? Is it part of the Kernel source code?
It is.
> Do I need
> to figure out how to get the source code, and compile the kernel?
Yes (or get someone to do it for you, of course).
You could also just drive the UART yourself from userspace and
toggle the registers directly via mmap()ing /dev/mem, but that will
be slow and there is going to be a problem if the kernel tries to
poke those registers too - eg. because it wants to suspend your
UART.
> Is
> there a way this change can be submitted to the code maintainers, have
> it officially implemented, and have it be in an update?
I think it's been fixed in 3.11rc1, so I believe that's already been
done (though someone should correct me if I'm wrong?)
>
> I'm fairly new to Linux (about 6 months), and I'm still learning a lot.
> What do you recommend I do?
If I were you, I'd learn how to build a kernel and fix it in your
tree. but depending on how you got your distribution, it could be
quite a lot of work.
Richard.