How can I find in a kernel module, how many UARTs are present in my system?
And how can I find their IO address and IRQ?
Regards
Mohanlal
I want to detect this inside a kernel module. Any way to do it?
Regards
Mohanlal
----- Original Message -----
From: "Rui Santos" <[email protected]>
To: "'mohanlal jangir'" <[email protected]>
Sent: Thursday, April 01, 2004 4:56 PM
Subject: RE: UART detection?
> Hi,
>
> You can find them on the kernel boot messages.
> Something like: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
>
> This log is usualy found at /var/log/messages
>
> Regards
> Rui Santos
>
>
> -----Mensagem original-----
> De: [email protected]
> [mailto:[email protected]] Em nome de mohanlal jangir
> Enviada: quinta-feira, 1 de Abril de 2004 12:02
> Para: [email protected]
> Assunto: UART detection?
>
> How can I find in a kernel module, how many UARTs are present in my
system?
> And how can I find their IO address and IRQ?
>
> Regards
> Mohanlal
>
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
>
>
Hi,
I do not fully understand what you mean by 'detect this inside a kernel
module'. I think you want to compile it as a module and the modprobe it to
get the module messages.
If you compile the serial as a module on:
- Device Drivers -> Character Devices -> Serial Drivers -> 8250/16550 Serial
you will get a module called serial.o
Remember that if you want do use modprobe to redirect the module messages,
You need to turn off the 'Automatic Module loadind when compiling the
kernel. You can do this ao Loadable Module Support -> Automatic Kernel
Module Loading.
Hope it helps
Regards,
Rui Santos
-----Mensagem original-----
De: mohanlal jangir [mailto:[email protected]]
Enviada: quinta-feira, 1 de Abril de 2004 12:24
Para: Rui Santos
Cc: [email protected]
Assunto: Re: UART detection?
I want to detect this inside a kernel module. Any way to do it?
Regards
Mohanlal
----- Original Message -----
From: "Rui Santos" <[email protected]>
To: "'mohanlal jangir'" <[email protected]>
Sent: Thursday, April 01, 2004 4:56 PM
Subject: RE: UART detection?
> Hi,
>
> You can find them on the kernel boot messages.
> Something like: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
>
> This log is usualy found at /var/log/messages
>
> Regards
> Rui Santos
>
>
> -----Mensagem original-----
> De: [email protected]
> [mailto:[email protected]] Em nome de mohanlal jangir
> Enviada: quinta-feira, 1 de Abril de 2004 12:02
> Para: [email protected]
> Assunto: UART detection?
>
> How can I find in a kernel module, how many UARTs are present in my
system?
> And how can I find their IO address and IRQ?
>
> Regards
> Mohanlal
>
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
>
>
Hi Rui Santos,
Thanks for your replies. I try to explain my question in detail.
In file serial.c, there is one array rs_table defined as follows:
static struct serial_state rs_table[RS_TABLE_SIZE] = {
SERIAL_PORT_DFNS /* Defined in serial.h */
};
Above array is initialized with following structures.
{ 0, BASE_BAUD, 0x3F8, 4, STD_COM_FLAGS }, /* ttyS0 */ \
{ 0, BASE_BAUD, 0x2F8, 3, STD_COM_FLAGS }, /* ttyS1 */ \
{ 0, BASE_BAUD, 0x3E8, 4, STD_COM_FLAGS }, /* ttyS2 */ \
{ 0, BASE_BAUD, 0x2E8, 3, STD_COM4_FLAGS }, /* ttyS3 */
Therefore IO address and IRQ of the UARTs are hardcoded. I want to know, is
their no way to find these values at run time?
Also I add another question here. Can I use addresses 0x3F8, 0x2F8 directly
in driver? Don't I need to remap these addresses? For example, is it ok to
say
register_data = readb(0x3F8 + some_register_offset);
Regards
Mohanlal
----- Original Message -----
From: "Rui Santos" <[email protected]>
To: "'mohanlal jangir'" <[email protected]>
Cc: <[email protected]>
Sent: Thursday, April 01, 2004 6:06 PM
Subject: RE: UART detection?
> Hi,
>
> I do not fully understand what you mean by 'detect this inside a kernel
> module'. I think you want to compile it as a module and the modprobe it to
> get the module messages.
>
> If you compile the serial as a module on:
> - Device Drivers -> Character Devices -> Serial Drivers -> 8250/16550
Serial
> you will get a module called serial.o
>
> Remember that if you want do use modprobe to redirect the module messages,
> You need to turn off the 'Automatic Module loadind when compiling the
> kernel. You can do this ao Loadable Module Support -> Automatic Kernel
> Module Loading.
>
> Hope it helps
> Regards,
> Rui Santos
>
>
>
> -----Mensagem original-----
> De: mohanlal jangir [mailto:[email protected]]
> Enviada: quinta-feira, 1 de Abril de 2004 12:24
> Para: Rui Santos
> Cc: [email protected]
> Assunto: Re: UART detection?
>
> I want to detect this inside a kernel module. Any way to do it?
>
> Regards
> Mohanlal
>
> ----- Original Message -----
> From: "Rui Santos" <[email protected]>
> To: "'mohanlal jangir'" <[email protected]>
> Sent: Thursday, April 01, 2004 4:56 PM
> Subject: RE: UART detection?
>
>
> > Hi,
> >
> > You can find them on the kernel boot messages.
> > Something like: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
> >
> > This log is usualy found at /var/log/messages
> >
> > Regards
> > Rui Santos
> >
> >
> > -----Mensagem original-----
> > De: [email protected]
> > [mailto:[email protected]] Em nome de mohanlal jangir
> > Enviada: quinta-feira, 1 de Abril de 2004 12:02
> > Para: [email protected]
> > Assunto: UART detection?
> >
> > How can I find in a kernel module, how many UARTs are present in my
> system?
> > And how can I find their IO address and IRQ?
> >
> > Regards
> > Mohanlal
> >
> >
> >
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel"
in
> > the body of a message to [email protected]
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at http://www.tux.org/lkml/
> >
> >
> >
>
>
>
>