From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from wolverine02.qualcomm.com ([199.106.114.251]:8521 "EHLO wolverine02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754148Ab0LGCco (ORCPT ); Mon, 6 Dec 2010 21:32:44 -0500 Message-ID: In-Reply-To: <20101206155826.GD23214@kroah.com> References: <1291639071-10862-1-git-send-email-pkondeti@codeaurora.org> <20101206155826.GD23214@kroah.com> Date: Mon, 6 Dec 2010 18:32:30 -0800 (PST) Subject: Re: [RFC 1/2] USB: Notify OTG errors to user space via uevents From: pkondeti@codeaurora.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7BIT Sender: linux-arm-msm-owner@vger.kernel.org List-ID: To: Greg KH Cc: Pavankumar Kondeti , gregkh@suse.de, linux-usb@vger.kernel.org, linux-arm-msm@vger.kernel.org Hi Greg, > On Mon, Dec 06, 2010 at 06:07:50PM +0530, Pavankumar Kondeti wrote: >> OTG specification mandates no silent failures and all errors should >> be reported to the user. The spec itself does not give the exact >> error description. But recommends the error message to be self >> explanatory. Provide otg_notify_error() utility for USB core and >> OTG driver to send the error codes to user space. All the error >> code values are described in include/linux/usb/ch9.h. The user space >> application can listen to netlink socket and parse the buffer for >> "MODULE=OTG" and "ERROR=n", where 'n' contains the error code. > > How are you going to listen to the netlink socket that is already > grabbed by libudev? > Sorry. I never worked with udev. But I read udev documentation. I thought an external script can be invoked by adding a udev rule when MODULE=OTG is matched and ERROR value can be accessed in the script via env variable. > Please, if you really want to do this, create your own netlink socket, > don't create new uevent messages that will just confused the existing > tools out there, that's ripe for big problems. > I have seen examples in drivers sending uevents for notifying docking station status (drivers/acpi/dock.c) and when backlight brightness changes (drivers/video/backlight/backlight.c). So I have taken this approach.