From patchwork Thu Nov 8 09:14:56 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hatim RV X-Patchwork-Id: 197812 X-Patchwork-Delegate: promsoft@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 68A202C0172 for ; Thu, 8 Nov 2012 20:23:16 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id DD6394A159; Thu, 8 Nov 2012 10:23:14 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id V1smR7qk-tRD; Thu, 8 Nov 2012 10:23:14 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id F25E04A122; Thu, 8 Nov 2012 10:23:12 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id E2DDF4A122 for ; Thu, 8 Nov 2012 10:23:11 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cNwYPsZ3W6ka for ; Thu, 8 Nov 2012 10:23:10 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25]) by theia.denx.de (Postfix) with ESMTP id 6B2C14A11A for ; Thu, 8 Nov 2012 10:23:07 +0100 (CET) Received: from epcpsbgm1.samsung.com (epcpsbgm1 [203.254.230.26]) by mailout2.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MD500F7KWPU14L0@mailout2.samsung.com> for u-boot@lists.denx.de; Thu, 08 Nov 2012 18:23:05 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.124]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id A3.44.01231.9F97B905; Thu, 08 Nov 2012 18:23:05 +0900 (KST) X-AuditID: cbfee61a-b7fa66d0000004cf-3e-509b79f922ab Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 72.44.01231.9F97B905; Thu, 08 Nov 2012 18:23:05 +0900 (KST) Received: from hatim-linux.sisodomain.com ([107.108.73.95]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MD5000KUWJF2180@mmp1.samsung.com> for u-boot@lists.denx.de; Thu, 08 Nov 2012 18:23:05 +0900 (KST) From: Hatim Ali To: u-boot@lists.denx.de Date: Thu, 08 Nov 2012 14:44:56 +0530 Message-id: <1352366100-18727-5-git-send-email-hatim.rv@samsung.com> X-Mailer: git-send-email 1.7.2.3 In-reply-to: <1352366100-18727-1-git-send-email-hatim.rv@samsung.com> References: <1352366100-18727-1-git-send-email-hatim.rv@samsung.com> DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrNLMWRmVeSWpSXmKPExsWyRsSkRvdn5ewAg3N3dS3e7u1kd2D0OHtn B2MAYxSXTUpqTmZZapG+XQJXxoNnR5gL/vFXnL91kbmB8RVPFyMnh4SAiUTHoeuMELaYxIV7 69m6GLk4hASWMkq0nJvMBFM09dYeJojEIkaJ5hXXWSCcJUwSbTNOM4NUsQmoSax/3ckGYosI SEj86r8KNpZZoFTiSOs2oAYODmEBW4mvH5VAwiwCqhL/Tn9iBbF5BVwkFt2+yAyxTEHi1Y21 7CDlnAKuEk337UDCQkAl3St2MkK0Ckh8m3wIbKKEgKzEpgPMINdICFxnk5h4+go7xBhJiYMr brBMYBRewMiwilE0tSC5oDgpPddQrzgxt7g0L10vOT93EyMwBE//eya1g3Flg8UhRgEORiUe Xg3J2QFCrIllxZW5hxglOJiVRHiXOQOFeFMSK6tSi/Lji0pzUosPMfoAXTKRWUo0OR8YH3kl 8YbGJuamxqaWRkZmpqY4hJXEeZs9UgKEBNITS1KzU1MLUotgxjFxcEo1MHZWyJV+Td0SOI2r Pbow5fu+VKH/PVU8IReWKqwozviSZ3/8hsq6Lkb2OVM3Xzgmsc3t/v/bn/1SEvccnWEoIqZq rTVb5ED3nwZztacb0p1K9baYqrin9z6NiZtnG7yR4SuTwdQCx8q7110lP99VPOPhG7TqPu8R D41zITvqf2y6p8OvfafqvBJLcUaioRZzUXEiAKd4dlluAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupikeLIzCtJLcpLzFFi42I5/e+xgO7PytkBBvO2Slm83dvJ7sDocfbO DsYAxqgGRpuM1MSU1CKF1Lzk/JTMvHRbJe/geOd4UzMDQ11DSwtzJYW8xNxUWyUXnwBdt8wc oLFKCmWJOaVAoYDE4mIlfTtME0JD3HQtYBojdH1DguB6jAzQQMIaxowHz44wF/zjrzh/6yJz A+Mrni5GTg4JAROJqbf2MEHYYhIX7q1n62Lk4hASWMQo0bziOguEs4RJom3GaWaQKjYBNYn1 rzvZQGwRAQmJX/1XGUFsZoFSiSOt24AaODiEBWwlvn5UAgmzCKhK/Dv9iRXE5hVwkVh0+yIz xDIFiVc31rKDlHMKuEo03bcDCQsBlXSv2Mk4gZF3ASPDKkbR1ILkguKk9FxDveLE3OLSvHS9 5PzcTYzgAH8mtYNxZYPFIUYBDkYlHl4NydkBQqyJZcWVuYcYJTiYlUR4lzkDhXhTEiurUovy 44tKc1KLDzH6AB01kVlKNDkfGH15JfGGxibmpsamliYWJmaWOISVxHmbPVIChATSE0tSs1NT C1KLYMYxcXBKNTBGX3jzXk7dfL4Gi6/P5NTHi3RcOyrf7d6xti/J79aSSX0SO2bs9vrbF6v7 wLzokflH0wzPFNlb52rsNxh25wgukryp5H/hoXRHxxZ9VvGapoQbF295PdxXxeVkzHDQND0o wPP8srciE4TePHx9aenhJ05Vy/fK7Pef/tGwdaPWfVEfy+n7GsuUWIozEg21mIuKEwGXb+DI nQIAAA== X-CFilter-Loop: Reflected Cc: akshay.s@samsung.com, alim.akhtar@samsung.com Subject: [U-Boot] [PATCH 4/8 v3] Add a poll function to monitor events X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de From: Akshay Saraswat Adding a generic polling function to continuously monitor events and trigger actions corresponding to them. Signed-off-by: Akshay Saraswat Acked-by: Simon Glass --- Changes since v2: - None README | 7 +++++++ common/console.c | 5 +++++ include/common.h | 6 ++++++ 3 files changed, 18 insertions(+), 0 deletions(-) diff --git a/README b/README index 2572add..72b3b67 100644 --- a/README +++ b/README @@ -2814,6 +2814,13 @@ Configuration Settings: the application (usually a Linux kernel) when it is booted +- CONFIG_BOARD_POLL + There are various scenarios in which parallel-thread like + polling is required to monitor status of variety of devices. + For such situations CONFIG_BOARD_POLL shall be enabled + and funtion call board_poll_devices() from console_tstc() + will then poll for the device status as defined inside function. + - CONFIG_SYS_BAUDRATE_TABLE: List of legal baudrate settings for this board. diff --git a/common/console.c b/common/console.c index 1177f7d..d320b9b 100644 --- a/common/console.c +++ b/common/console.c @@ -117,6 +117,11 @@ static int console_tstc(int file) int i, ret; struct stdio_dev *dev; +#if defined CONFIG_BOARD_POLL + /* Generic polling function */ + board_poll_devices(); +#endif + disable_ctrlc(1); for (i = 0; i < cd_count[file]; i++) { dev = console_devices[file][i]; diff --git a/include/common.h b/include/common.h index b23e90b..70a348d 100644 --- a/include/common.h +++ b/include/common.h @@ -782,6 +782,12 @@ void clear_ctrlc (void); /* clear the Control-C condition */ int disable_ctrlc (int); /* 1 to disable, 0 to enable Control-C detect */ /* + * A generic polling function. + * This will be called form console_tstc() to poll for various events. + */ +void board_poll_devices(void); + +/* * STDIO based functions (can always be used) */ /* serial stuff */