Re: Serial8250 doesn't populate in /proc/iomem?

2012-12-11 Thread Alan Cox
> > You see, there is no serial8250 informations.
> >
> > Can anyone here please tell me how this can happen?  Does it mean the
> > serial8250 driver don't populate or register in the /proc/iomem?
> 
> Could someone help me? Thanks!

I think you are in the wrong place - the kernel newbies list may be a
better place to ask this level of question.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Serial8250 doesn't populate in /proc/iomem?

2012-12-11 Thread Alan Cox
  You see, there is no serial8250 informations.
 
  Can anyone here please tell me how this can happen?  Does it mean the
  serial8250 driver don't populate or register in the /proc/iomem?
 
 Could someone help me? Thanks!

I think you are in the wrong place - the kernel newbies list may be a
better place to ask this level of question.

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Serial8250 doesn't populate in /proc/iomem?

2012-12-10 Thread Bjorn Helgaas
[+cc linux-arm, linux-samsung-soc, linux-serial]

On Sun, Dec 9, 2012 at 11:25 PM, Woody Wu  wrote:
> Hi, list
>
> I found some io memory information is lost from /dev/iomem and want to
> find out why.
>
> I have a 2.6.16 kernel running on a ARM board (Samsung S3C2410). From
> the kernel log, I see 16 8250 serial ports were detected, and each of
> thoese ports has a memory address:
>
> Serial: 8250/16550 driver $Revision: 1.90 $ 16 ports, IRQ sharing enabled
> serial8250: tts0 at MMIO 0xe140 (irq = 16) is a 16550A
> serial8250: tts1 at MMIO 0xe148 (irq = 16) is a 16550A
> serial8250: tts2 at MMIO 0xe1400010 (irq = 17) is a 16550A
> serial8250: tts3 at MMIO 0xe1400018 (irq = 17) is a 16550A
> serial8250: tts4 at MMIO 0xe1400020 (irq = 18) is a 16550A
> serial8250: tts5 at MMIO 0xe1400028 (irq = 18) is a 16550A
> serial8250: tts6 at MMIO 0xe1400030 (irq = 19) is a 16550A
> serial8250: tts7 at MMIO 0xe1400038 (irq = 19) is a 16550A
> serial8250: tts8 at MMIO 0xe1400040 (irq = 48) is a 16550A
> serial8250: tts9 at MMIO 0xe1400048 (irq = 48) is a 16550A
> serial8250: tts10 at MMIO 0xe1400050 (irq = 49) is a 16550A
> serial8250: tts11 at MMIO 0xe1400058 (irq = 49) is a 16550A
> serial8250: tts12 at MMIO 0xe1400060 (irq = 60) is a 16550A
> serial8250: tts13 at MMIO 0xe1400068 (irq = 60) is a 16550A
> serial8250: tts14 at MMIO 0xe1400070 (irq = 61) is a 16550A
> serial8250: tts15 at MMIO 0xe1400078 (irq = 61) is a 16550A
>
> I can read/write these serial ports from /dev/ttys*, in other words,
> they do exist.  I also can find the driver info from /proc/devices:
>
> Character devices:
>
>   ...
>   4 /dev/vc/0
>   4 tty
>   4 tts
>   5 /dev/tty
>   5 /dev/console
>   5 /dev/ptmx
>   7 vcs
>   ...
>
> The problem is, I don't understand why there is no information about
> these ports in /proc/iomem file. The 'iomem' file now contains:
>
> 1100-11000ffe : AX88796B
> 1900-19000ffe : AX88796B
> 3000-33ff : System RAM
>   3001c000-301e826b : Kernel text
>   301ea000-302234a3 : Kernel data
> 4900-490f : s3c2410-ohci
>   4900-490f : ohci_hcd
> 4e00-4e0f : s3c2410-nand
>   4e00-4e0f : s3c2410-nand
> 5000-50003fff : s3c2410-uart.0
>   5000-50ff : s3c2410-uart
> 50004000-50007fff : s3c2410-uart.1
>   50004000-500040ff : s3c2410-uart
> 50008000-5000bfff : s3c2410-uart.2
>   50008000-500080ff : s3c2410-uart
> 5300-530f : s3c2410-wdt
> 5400-540f : s3c2410-i2c
> 5a00-5a0f : s3c2410-sdi
>   5a00-5a0f : mmci-s3c2410
>
> You see, there is no serial8250 informations.
>
> Can anyone here please tell me how this can happen?  Does it mean the
> serial8250 driver don't populate or register in the /proc/iomem?

That looks like a bug to me.  There should be entries in /proc/iomem
for the hardware device (showing that something responds at that
address) and for the driver that claims the device.

I think the 8250 core does the reservation in
serial8250_request_std_resource().  You could try putting some printks
in that path to see whether it's exercised.

You're running a fairly old kernel, so it's possible the bug has
already been fixed.

Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Serial8250 doesn't populate in /proc/iomem?

2012-12-10 Thread Woody Wu
On 2012-12-10, Woody Wu  wrote:
> Hi, list
>
> I found some io memory information is lost from /dev/iomem and want to
> find out why.
>
> I have a 2.6.16 kernel running on a ARM board (Samsung S3C2410). From
> the kernel log, I see 16 8250 serial ports were detected, and each of
> thoese ports has a memory address:
>
> Serial: 8250/16550 driver $Revision: 1.90 $ 16 ports, IRQ sharing enabled
> serial8250: tts0 at MMIO 0xe140 (irq = 16) is a 16550A
> serial8250: tts1 at MMIO 0xe148 (irq = 16) is a 16550A
> serial8250: tts2 at MMIO 0xe1400010 (irq = 17) is a 16550A
> serial8250: tts3 at MMIO 0xe1400018 (irq = 17) is a 16550A
> serial8250: tts4 at MMIO 0xe1400020 (irq = 18) is a 16550A
> serial8250: tts5 at MMIO 0xe1400028 (irq = 18) is a 16550A
> serial8250: tts6 at MMIO 0xe1400030 (irq = 19) is a 16550A
> serial8250: tts7 at MMIO 0xe1400038 (irq = 19) is a 16550A
> serial8250: tts8 at MMIO 0xe1400040 (irq = 48) is a 16550A
> serial8250: tts9 at MMIO 0xe1400048 (irq = 48) is a 16550A
> serial8250: tts10 at MMIO 0xe1400050 (irq = 49) is a 16550A
> serial8250: tts11 at MMIO 0xe1400058 (irq = 49) is a 16550A
> serial8250: tts12 at MMIO 0xe1400060 (irq = 60) is a 16550A
> serial8250: tts13 at MMIO 0xe1400068 (irq = 60) is a 16550A
> serial8250: tts14 at MMIO 0xe1400070 (irq = 61) is a 16550A
> serial8250: tts15 at MMIO 0xe1400078 (irq = 61) is a 16550A
>
> I can read/write these serial ports from /dev/ttys*, in other words,
> they do exist.  I also can find the driver info from /proc/devices:
>
> Character devices:   
>
>   ...
>   4 /dev/vc/0
>   4 tty
>   4 tts
>   5 /dev/tty
>   5 /dev/console
>   5 /dev/ptmx
>   7 vcs
>   ...
>
> The problem is, I don't understand why there is no information about
> these ports in /proc/iomem file. The 'iomem' file now contains:
>
> 1100-11000ffe : AX88796B
> 1900-19000ffe : AX88796B
> 3000-33ff : System RAM
>   3001c000-301e826b : Kernel text
>   301ea000-302234a3 : Kernel data
> 4900-490f : s3c2410-ohci
>   4900-490f : ohci_hcd
> 4e00-4e0f : s3c2410-nand
>   4e00-4e0f : s3c2410-nand
> 5000-50003fff : s3c2410-uart.0
>   5000-50ff : s3c2410-uart
> 50004000-50007fff : s3c2410-uart.1
>   50004000-500040ff : s3c2410-uart
> 50008000-5000bfff : s3c2410-uart.2
>   50008000-500080ff : s3c2410-uart
> 5300-530f : s3c2410-wdt
> 5400-540f : s3c2410-i2c
> 5a00-5a0f : s3c2410-sdi
>   5a00-5a0f : mmci-s3c2410
>
> You see, there is no serial8250 informations.
>
> Can anyone here please tell me how this can happen?  Does it mean the
> serial8250 driver don't populate or register in the /proc/iomem?
>
>

Could someone help me? Thanks!


-- 
woody
I can't go back to yesterday - because I was a different person then.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Serial8250 doesn't populate in /proc/iomem?

2012-12-10 Thread Woody Wu
On 2012-12-10, Woody Wu narkewo...@gmail.com wrote:
 Hi, list

 I found some io memory information is lost from /dev/iomem and want to
 find out why.

 I have a 2.6.16 kernel running on a ARM board (Samsung S3C2410). From
 the kernel log, I see 16 8250 serial ports were detected, and each of
 thoese ports has a memory address:

 Serial: 8250/16550 driver $Revision: 1.90 $ 16 ports, IRQ sharing enabled
 serial8250: tts0 at MMIO 0xe140 (irq = 16) is a 16550A
 serial8250: tts1 at MMIO 0xe148 (irq = 16) is a 16550A
 serial8250: tts2 at MMIO 0xe1400010 (irq = 17) is a 16550A
 serial8250: tts3 at MMIO 0xe1400018 (irq = 17) is a 16550A
 serial8250: tts4 at MMIO 0xe1400020 (irq = 18) is a 16550A
 serial8250: tts5 at MMIO 0xe1400028 (irq = 18) is a 16550A
 serial8250: tts6 at MMIO 0xe1400030 (irq = 19) is a 16550A
 serial8250: tts7 at MMIO 0xe1400038 (irq = 19) is a 16550A
 serial8250: tts8 at MMIO 0xe1400040 (irq = 48) is a 16550A
 serial8250: tts9 at MMIO 0xe1400048 (irq = 48) is a 16550A
 serial8250: tts10 at MMIO 0xe1400050 (irq = 49) is a 16550A
 serial8250: tts11 at MMIO 0xe1400058 (irq = 49) is a 16550A
 serial8250: tts12 at MMIO 0xe1400060 (irq = 60) is a 16550A
 serial8250: tts13 at MMIO 0xe1400068 (irq = 60) is a 16550A
 serial8250: tts14 at MMIO 0xe1400070 (irq = 61) is a 16550A
 serial8250: tts15 at MMIO 0xe1400078 (irq = 61) is a 16550A

 I can read/write these serial ports from /dev/ttys*, in other words,
 they do exist.  I also can find the driver info from /proc/devices:

 Character devices:   

   ...
   4 /dev/vc/0
   4 tty
   4 tts
   5 /dev/tty
   5 /dev/console
   5 /dev/ptmx
   7 vcs
   ...

 The problem is, I don't understand why there is no information about
 these ports in /proc/iomem file. The 'iomem' file now contains:

 1100-11000ffe : AX88796B
 1900-19000ffe : AX88796B
 3000-33ff : System RAM
   3001c000-301e826b : Kernel text
   301ea000-302234a3 : Kernel data
 4900-490f : s3c2410-ohci
   4900-490f : ohci_hcd
 4e00-4e0f : s3c2410-nand
   4e00-4e0f : s3c2410-nand
 5000-50003fff : s3c2410-uart.0
   5000-50ff : s3c2410-uart
 50004000-50007fff : s3c2410-uart.1
   50004000-500040ff : s3c2410-uart
 50008000-5000bfff : s3c2410-uart.2
   50008000-500080ff : s3c2410-uart
 5300-530f : s3c2410-wdt
 5400-540f : s3c2410-i2c
 5a00-5a0f : s3c2410-sdi
   5a00-5a0f : mmci-s3c2410

 You see, there is no serial8250 informations.

 Can anyone here please tell me how this can happen?  Does it mean the
 serial8250 driver don't populate or register in the /proc/iomem?



Could someone help me? Thanks!


-- 
woody
I can't go back to yesterday - because I was a different person then.

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Serial8250 doesn't populate in /proc/iomem?

2012-12-10 Thread Bjorn Helgaas
[+cc linux-arm, linux-samsung-soc, linux-serial]

On Sun, Dec 9, 2012 at 11:25 PM, Woody Wu narkewo...@gmail.com wrote:
 Hi, list

 I found some io memory information is lost from /dev/iomem and want to
 find out why.

 I have a 2.6.16 kernel running on a ARM board (Samsung S3C2410). From
 the kernel log, I see 16 8250 serial ports were detected, and each of
 thoese ports has a memory address:

 Serial: 8250/16550 driver $Revision: 1.90 $ 16 ports, IRQ sharing enabled
 serial8250: tts0 at MMIO 0xe140 (irq = 16) is a 16550A
 serial8250: tts1 at MMIO 0xe148 (irq = 16) is a 16550A
 serial8250: tts2 at MMIO 0xe1400010 (irq = 17) is a 16550A
 serial8250: tts3 at MMIO 0xe1400018 (irq = 17) is a 16550A
 serial8250: tts4 at MMIO 0xe1400020 (irq = 18) is a 16550A
 serial8250: tts5 at MMIO 0xe1400028 (irq = 18) is a 16550A
 serial8250: tts6 at MMIO 0xe1400030 (irq = 19) is a 16550A
 serial8250: tts7 at MMIO 0xe1400038 (irq = 19) is a 16550A
 serial8250: tts8 at MMIO 0xe1400040 (irq = 48) is a 16550A
 serial8250: tts9 at MMIO 0xe1400048 (irq = 48) is a 16550A
 serial8250: tts10 at MMIO 0xe1400050 (irq = 49) is a 16550A
 serial8250: tts11 at MMIO 0xe1400058 (irq = 49) is a 16550A
 serial8250: tts12 at MMIO 0xe1400060 (irq = 60) is a 16550A
 serial8250: tts13 at MMIO 0xe1400068 (irq = 60) is a 16550A
 serial8250: tts14 at MMIO 0xe1400070 (irq = 61) is a 16550A
 serial8250: tts15 at MMIO 0xe1400078 (irq = 61) is a 16550A

 I can read/write these serial ports from /dev/ttys*, in other words,
 they do exist.  I also can find the driver info from /proc/devices:

 Character devices:

   ...
   4 /dev/vc/0
   4 tty
   4 tts
   5 /dev/tty
   5 /dev/console
   5 /dev/ptmx
   7 vcs
   ...

 The problem is, I don't understand why there is no information about
 these ports in /proc/iomem file. The 'iomem' file now contains:

 1100-11000ffe : AX88796B
 1900-19000ffe : AX88796B
 3000-33ff : System RAM
   3001c000-301e826b : Kernel text
   301ea000-302234a3 : Kernel data
 4900-490f : s3c2410-ohci
   4900-490f : ohci_hcd
 4e00-4e0f : s3c2410-nand
   4e00-4e0f : s3c2410-nand
 5000-50003fff : s3c2410-uart.0
   5000-50ff : s3c2410-uart
 50004000-50007fff : s3c2410-uart.1
   50004000-500040ff : s3c2410-uart
 50008000-5000bfff : s3c2410-uart.2
   50008000-500080ff : s3c2410-uart
 5300-530f : s3c2410-wdt
 5400-540f : s3c2410-i2c
 5a00-5a0f : s3c2410-sdi
   5a00-5a0f : mmci-s3c2410

 You see, there is no serial8250 informations.

 Can anyone here please tell me how this can happen?  Does it mean the
 serial8250 driver don't populate or register in the /proc/iomem?

That looks like a bug to me.  There should be entries in /proc/iomem
for the hardware device (showing that something responds at that
address) and for the driver that claims the device.

I think the 8250 core does the reservation in
serial8250_request_std_resource().  You could try putting some printks
in that path to see whether it's exercised.

You're running a fairly old kernel, so it's possible the bug has
already been fixed.

Bjorn
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Serial8250 doesn't populate in /proc/iomem?

2012-12-09 Thread Woody Wu
Hi, list

I found some io memory information is lost from /dev/iomem and want to
find out why.

I have a 2.6.16 kernel running on a ARM board (Samsung S3C2410). From
the kernel log, I see 16 8250 serial ports were detected, and each of
thoese ports has a memory address:

Serial: 8250/16550 driver $Revision: 1.90 $ 16 ports, IRQ sharing enabled
serial8250: tts0 at MMIO 0xe140 (irq = 16) is a 16550A
serial8250: tts1 at MMIO 0xe148 (irq = 16) is a 16550A
serial8250: tts2 at MMIO 0xe1400010 (irq = 17) is a 16550A
serial8250: tts3 at MMIO 0xe1400018 (irq = 17) is a 16550A
serial8250: tts4 at MMIO 0xe1400020 (irq = 18) is a 16550A
serial8250: tts5 at MMIO 0xe1400028 (irq = 18) is a 16550A
serial8250: tts6 at MMIO 0xe1400030 (irq = 19) is a 16550A
serial8250: tts7 at MMIO 0xe1400038 (irq = 19) is a 16550A
serial8250: tts8 at MMIO 0xe1400040 (irq = 48) is a 16550A
serial8250: tts9 at MMIO 0xe1400048 (irq = 48) is a 16550A
serial8250: tts10 at MMIO 0xe1400050 (irq = 49) is a 16550A
serial8250: tts11 at MMIO 0xe1400058 (irq = 49) is a 16550A
serial8250: tts12 at MMIO 0xe1400060 (irq = 60) is a 16550A
serial8250: tts13 at MMIO 0xe1400068 (irq = 60) is a 16550A
serial8250: tts14 at MMIO 0xe1400070 (irq = 61) is a 16550A
serial8250: tts15 at MMIO 0xe1400078 (irq = 61) is a 16550A

I can read/write these serial ports from /dev/ttys*, in other words,
they do exist.  I also can find the driver info from /proc/devices:

Character devices:   

  ...
  4 /dev/vc/0
  4 tty
  4 tts
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
  7 vcs
  ...

The problem is, I don't understand why there is no information about
these ports in /proc/iomem file. The 'iomem' file now contains:

1100-11000ffe : AX88796B
1900-19000ffe : AX88796B
3000-33ff : System RAM
  3001c000-301e826b : Kernel text
  301ea000-302234a3 : Kernel data
4900-490f : s3c2410-ohci
  4900-490f : ohci_hcd
4e00-4e0f : s3c2410-nand
  4e00-4e0f : s3c2410-nand
5000-50003fff : s3c2410-uart.0
  5000-50ff : s3c2410-uart
50004000-50007fff : s3c2410-uart.1
  50004000-500040ff : s3c2410-uart
50008000-5000bfff : s3c2410-uart.2
  50008000-500080ff : s3c2410-uart
5300-530f : s3c2410-wdt
5400-540f : s3c2410-i2c
5a00-5a0f : s3c2410-sdi
  5a00-5a0f : mmci-s3c2410

You see, there is no serial8250 informations.

Can anyone here please tell me how this can happen?  Does it mean the
serial8250 driver don't populate or register in the /proc/iomem?




-- 
woody
I can't go back to yesterday - because I was a different person then.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Serial8250 doesn't populate in /proc/iomem?

2012-12-09 Thread Woody Wu
Hi, list

I found some io memory information is lost from /dev/iomem and want to
find out why.

I have a 2.6.16 kernel running on a ARM board (Samsung S3C2410). From
the kernel log, I see 16 8250 serial ports were detected, and each of
thoese ports has a memory address:

Serial: 8250/16550 driver $Revision: 1.90 $ 16 ports, IRQ sharing enabled
serial8250: tts0 at MMIO 0xe140 (irq = 16) is a 16550A
serial8250: tts1 at MMIO 0xe148 (irq = 16) is a 16550A
serial8250: tts2 at MMIO 0xe1400010 (irq = 17) is a 16550A
serial8250: tts3 at MMIO 0xe1400018 (irq = 17) is a 16550A
serial8250: tts4 at MMIO 0xe1400020 (irq = 18) is a 16550A
serial8250: tts5 at MMIO 0xe1400028 (irq = 18) is a 16550A
serial8250: tts6 at MMIO 0xe1400030 (irq = 19) is a 16550A
serial8250: tts7 at MMIO 0xe1400038 (irq = 19) is a 16550A
serial8250: tts8 at MMIO 0xe1400040 (irq = 48) is a 16550A
serial8250: tts9 at MMIO 0xe1400048 (irq = 48) is a 16550A
serial8250: tts10 at MMIO 0xe1400050 (irq = 49) is a 16550A
serial8250: tts11 at MMIO 0xe1400058 (irq = 49) is a 16550A
serial8250: tts12 at MMIO 0xe1400060 (irq = 60) is a 16550A
serial8250: tts13 at MMIO 0xe1400068 (irq = 60) is a 16550A
serial8250: tts14 at MMIO 0xe1400070 (irq = 61) is a 16550A
serial8250: tts15 at MMIO 0xe1400078 (irq = 61) is a 16550A

I can read/write these serial ports from /dev/ttys*, in other words,
they do exist.  I also can find the driver info from /proc/devices:

Character devices:   

  ...
  4 /dev/vc/0
  4 tty
  4 tts
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
  7 vcs
  ...

The problem is, I don't understand why there is no information about
these ports in /proc/iomem file. The 'iomem' file now contains:

1100-11000ffe : AX88796B
1900-19000ffe : AX88796B
3000-33ff : System RAM
  3001c000-301e826b : Kernel text
  301ea000-302234a3 : Kernel data
4900-490f : s3c2410-ohci
  4900-490f : ohci_hcd
4e00-4e0f : s3c2410-nand
  4e00-4e0f : s3c2410-nand
5000-50003fff : s3c2410-uart.0
  5000-50ff : s3c2410-uart
50004000-50007fff : s3c2410-uart.1
  50004000-500040ff : s3c2410-uart
50008000-5000bfff : s3c2410-uart.2
  50008000-500080ff : s3c2410-uart
5300-530f : s3c2410-wdt
5400-540f : s3c2410-i2c
5a00-5a0f : s3c2410-sdi
  5a00-5a0f : mmci-s3c2410

You see, there is no serial8250 informations.

Can anyone here please tell me how this can happen?  Does it mean the
serial8250 driver don't populate or register in the /proc/iomem?




-- 
woody
I can't go back to yesterday - because I was a different person then.

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/