Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753400AbbBKSJf (ORCPT ); Wed, 11 Feb 2015 13:09:35 -0500 Received: from mx4.wp.pl ([212.77.101.11]:59070 "EHLO mx4.wp.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752642AbbBKSJe (ORCPT ); Wed, 11 Feb 2015 13:09:34 -0500 Date: Wed, 11 Feb 2015 19:02:53 +0100 From: "Krzysztof Helt" To: Ondrej Zary Cc: linux-fbdev@vger.kernel.org, Kernel development list Subject: Odp: [PATCH 3/4] fb_ddc: Allow I2C adapters without SCL read capability Message-ID: <54db994ddb8657.74556624@wp.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-2 Content-Transfer-Encoding: 8bit Content-Disposition: inline X-Mailer: Interfejs WWW nowej poczty Wirtualnej Polski X-User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0 Organization: Poznaj Poczte WP http://poczta.wp.pl/info-start.html X-WP-IP: 93.181.132.16 X-WP-AV: skaner antywirusowy poczty Wirtualnej Polski S. A. X-WP-SPAM: NO 0000000 [kZNU] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1715 Lines: 51 Acked-by: Krzysztof Helt Dnia Sobota, 7 Lutego 2015 21:53 Ondrej Zary napisa?(a) > i2c-algo-bit allows I2C adapters without SCL read capability to work but > fb_ddc_read fails to work on them. > > Fix fb_ddc_read to work with I2C adapters not capable of reading SCL. > > Signed-off-by: Ondrej Zary > --- > drivers/video/fbdev/core/fb_ddc.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/drivers/video/fbdev/core/fb_ddc.c b/drivers/video/fbdev/core/fb_ddc.c > index 94322cc..22c694a 100644 > --- a/drivers/video/fbdev/core/fb_ddc.c > +++ b/drivers/video/fbdev/core/fb_ddc.c > @@ -69,10 +69,11 @@ unsigned char *fb_ddc_read(struct i2c_adapter *adapter) > algo_data->setscl(algo_data->data, 1); > for (j = 0; j < 5; j++) { > msleep(10); > - if (algo_data->getscl(algo_data->data)) > + if (algo_data->getscl && > + algo_data->getscl(algo_data->data)) > break; > } > - if (j == 5) > + if (algo_data->getscl && j == 5) > continue; > > algo_data->setsda(algo_data->data, 0); > @@ -91,7 +92,8 @@ unsigned char *fb_ddc_read(struct i2c_adapter *adapter) > algo_data->setscl(algo_data->data, 1); > for (j = 0; j < 10; j++) { > msleep(10); > - if (algo_data->getscl(algo_data->data)) > + if (algo_data->getscl && > + algo_data->getscl(algo_data->data)) > break; > } > > -- > Ondrej Zary -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/