From patchwork Thu Jan 3 18:27:04 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Frank_Sch=C3=A4fer?= X-Patchwork-Id: 1929011 Return-Path: X-Original-To: patchwork-linux-media@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id 00149DF25A for ; Thu, 3 Jan 2013 18:27:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753808Ab3ACS1E (ORCPT ); Thu, 3 Jan 2013 13:27:04 -0500 Received: from mail-wi0-f180.google.com ([209.85.212.180]:55998 "EHLO mail-wi0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753779Ab3ACS1D (ORCPT ); Thu, 3 Jan 2013 13:27:03 -0500 Received: by mail-wi0-f180.google.com with SMTP id hj13so8760868wib.7 for ; Thu, 03 Jan 2013 10:27:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references:mime-version:content-type:content-transfer-encoding; bh=6HJpLAuaCPoMKvj59hD+LxMva03GpLRI8p3TB+J+UFU=; b=pgK/ksP89H58Z5ZNGpr8S1kJnALfOvjCB7ya6VQLtYcOlwQphVLEh2aV7EYBKHdgBb ZwPlAdB+CNwavhqsQdtDLPZGNZqnM4W6MfNTs0E+94QL0XdwwultMHLwuG+1iushBpLa EN7pG4cDJGOCPpkOfDG1oaBu9r5AWxC5ij+EZS7DxD06aGxGF0bslLmiegPXloCdbVZ3 q5MtMbkDv6QTB2LtohKr9TcAGt+J/dOrsjANDeJJsEIxUCiiULfC96ae0ZXSacCm6dZq F8CgXivWValqOQrn4L9X1TAJbpNF9fZZpns5ym5IViPD+fkyaeUrsb40WkeQ8tA0ZSFb mKBw== X-Received: by 10.194.93.40 with SMTP id cr8mr80375624wjb.16.1357237621793; Thu, 03 Jan 2013 10:27:01 -0800 (PST) Received: from Athlon64X2-5000.site (ip-37-24-90-62.unitymediagroup.de. [37.24.90.62]) by mx.google.com with ESMTPS id hu8sm68602085wib.6.2013.01.03.10.26.57 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 03 Jan 2013 10:27:00 -0800 (PST) From: =?UTF-8?q?Frank=20Sch=C3=A4fer?= To: mchehab@redhat.com Cc: linux-media@vger.kernel.org, saschasommer@freenet.de, =?UTF-8?q?Frank=20Sch=C3=A4fer?= Subject: [PATCH v3 3/5] em28xx: fix the i2c adapter functionality flags Date: Thu, 3 Jan 2013 19:27:04 +0100 Message-Id: <1357237626-3358-4-git-send-email-fschaefer.oss@googlemail.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1357237626-3358-1-git-send-email-fschaefer.oss@googlemail.com> References: <1357237626-3358-1-git-send-email-fschaefer.oss@googlemail.com> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org I2C_FUNC_SMBUS_EMUL includes flag I2C_FUNC_SMBUS_WRITE_BLOCK_DATA which signals that up to 31 data bytes can be written to the ic2 client. But the EM2800 supports only i2c messages with max. 4 data bytes. I2C_FUNC_IC2 should be set if a master_xfer function pointer is provided in struct i2c_algorithm. Signed-off-by: Frank Schäfer --- drivers/media/usb/em28xx/em28xx-i2c.c | 6 +++++- 1 Datei geändert, 5 Zeilen hinzugefügt(+), 1 Zeile entfernt(-) diff --git a/drivers/media/usb/em28xx/em28xx-i2c.c b/drivers/media/usb/em28xx/em28xx-i2c.c index 55308bb..1994083 100644 --- a/drivers/media/usb/em28xx/em28xx-i2c.c +++ b/drivers/media/usb/em28xx/em28xx-i2c.c @@ -445,7 +445,11 @@ static int em28xx_i2c_eeprom(struct em28xx *dev, unsigned char *eedata, int len) */ static u32 functionality(struct i2c_adapter *adap) { - return I2C_FUNC_SMBUS_EMUL; + struct em28xx *dev = adap->algo_data; + u32 func_flags = I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL; + if (dev->board.is_em2800) + func_flags &= ~I2C_FUNC_SMBUS_WRITE_BLOCK_DATA; + return func_flags; } static struct i2c_algorithm em28xx_algo = {