From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751877AbdBOOc3 (ORCPT ); Wed, 15 Feb 2017 09:32:29 -0500 Received: from mail-lf0-f67.google.com ([209.85.215.67]:35864 "EHLO mail-lf0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751729AbdBOObm (ORCPT ); Wed, 15 Feb 2017 09:31:42 -0500 From: Andrey Drobyshev To: linux-kernel@vger.kernel.org Cc: gq@cs.msu.su, giometti@enneenne.com Subject: [PATCH 7/8] LinuxPPS: pps_gen_parport: Add polarity parameter for inverted signal. Date: Wed, 15 Feb 2017 17:31:08 +0300 Message-Id: <1487169069-15721-8-git-send-email-immortalguardian1@gmail.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1487169069-15721-1-git-send-email-immortalguardian1@gmail.com> References: <1487169069-15721-1-git-send-email-immortalguardian1@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Alexander GQ Gerasiov On some devices it may be necessary to transmit inverted data. This commit simply adds polarity parameter to define which state represents presence of signal: it equals 0 if signal is on the low level (default), or 1 if signal is on the high level (inverted signal). Signed-off-by: Alexander GQ Gerasiov --- drivers/pps/generators/pps_gen_parport.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/pps/generators/pps_gen_parport.c b/drivers/pps/generators/pps_gen_parport.c index dcd39fb..7739301 100644 --- a/drivers/pps/generators/pps_gen_parport.c +++ b/drivers/pps/generators/pps_gen_parport.c @@ -36,8 +36,8 @@ #define DRVDESC "parallel port PPS signal generator" -#define SIGNAL 0 -#define NO_SIGNAL PARPORT_CONTROL_STROBE +#define SIGNAL (polarity?PARPORT_CONTROL_STROBE:0) +#define NO_SIGNAL (polarity?0:PARPORT_CONTROL_STROBE) /* module parameters */ @@ -48,6 +48,10 @@ MODULE_PARM_DESC(delay, "Delay between setting and dropping the signal (ns)"); module_param_named(delay, send_delay, uint, 0); +static unsigned int polarity; +MODULE_PARM_DESC(polarity, + "Signal is on the low level (0 - default) or on the high level (1)."); +module_param(polarity, uint, 0); #define SAFETY_INTERVAL 3000 /* set the hrtimer earlier for safety (ns) */ -- 2.1.4