On Fri, Feb 16, 2007 at 09:43:36PM +0100, Rodolfo Giometti wrote: > On Fri, Feb 16, 2007 at 07:12:08PM +0000, Russell King wrote: > > > > Yuck. Please. No. Doing it this way means you have to modify every > > single serial driver out there which is a mamouth task. > > > > > uart_handle_dcd_change(&up->port, status & > > > UART_MSR_DCD); > > > > Did you not look to see what's in this helper? You'll find within here > > the following code: > > > > #ifdef CONFIG_HARD_PPS > > if ((port->flags & UPF_HARDPPS_CD) && status) > > hardpps(); > > #endif > > > > which should've been a big sign lit up in bright lights in Times Square > > pointing you towards the right place to put your code. > > Ok. > > > Why not continue to leave it as a decision of the administrator - if > > you want ports to default to having PPS support enabled, change all > > the registration to set UPF_HARDPPS_CD. But leave the admin with > > the ability to disable it. > > Ok. > > > This means that PPS support is not available for any port which wasn't > > autoprobed at device discovery time. That seems quite restrictive. > > How I can force probing for a specified uart port?
You can't because it doesn't go through the interfaces you're hooking into. Existing interfaces are "changed" to point at the UARTs using setserial, which does its work via an ioctl. > > Maybe it needs to be coupled with the setting/clearing of UPF_HARDPPS_CD ? > > What do you think about? I should enable the PPS support only if the > userland sets the UPF_HARDPPS_CD flag? Not specifically only userland - if it happens to be set when the port is registered then enable PPS support then as well. So: 1. uart_configure_port - if UPF_HARDPPS_CD is set, register the port for PPS support. 2. uart_remove_one_port - if UPF_HARDPPS_CD is set, unregister the port for PPS support. 3. uart_set_info - if changing UPF_HARDPPS_CD, appropriately register or unregister the port for PPS support. PS, [EMAIL PROTECTED] dropped from the cc: since it rejects my postings. -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: - 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/