Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp1660750imm; Thu, 14 Jun 2018 01:33:28 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLHIHzxf0JwZ4IZ+Cxw/8LhP2eVQjUOajeRK3vvh45Yykpb3o9rKToNGWTq9varWxbYkqvL X-Received: by 2002:a17:902:8b8c:: with SMTP id ay12-v6mr1981891plb.74.1528965208039; Thu, 14 Jun 2018 01:33:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528965208; cv=none; d=google.com; s=arc-20160816; b=lEJwam1XoypjyoHHNv+dimz5o6ObHKQPsdjB+DpQIG5by0OqyOcFn0j4eycdGOHAjr x5dYWy5m0beEAMN96TUSOZMG7LseSgRNZ3Iw1M7p1fxsaNeTErnOmfcX4I3UNOkXhCeY HEBz85LyQD99VyaTBZe1/t8+lrH8ZMSHBR4DP2FVBwMp4h+JW88Z/wuhjmeVMjsdR+Do bavPkKCXTZUYBOP28Tfmy/zqrBoEzIFmC2C9RPLRa55p51vQ5crWBpslZ9v8r5DByeRl Tkgawe9dN0jpW0rMEAJV3kP7ZeW+afi88JUkfjEQx2h2L/TVtUumBjQxo2reSguWQy6f exzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=JvNlHCv/qCbfVN9mHnMQpCxHGvguA6wa0t5ETmBwVa0=; b=h3vRIpOFXo5Ua9octGkreQ0CZTIQrEVFVXIjm7cnVm+dQYUvD3L1CMUt5siY7Fw5Fc O1vP5/53IpDkV8HWQywyb4/Nnl2cZiEix7dv1+5TaG3oJpvqhEX8LQfnzWv+f3NzyLGL 03YOZrTN/20NQH2FBUdif6ISavVyT8PtaV3yare1rs8hcsQFTUQIzDewBt44XdnPjjuv Ka68WEkQYrlu82D8MJAqTtDzPW7rjsDjLWttpul7HnXQIgi2s3nTuBDs6OYHTXqI78PN Q+7lGvZYLSG6vjg+E+xKcSK5Vu4KHRmWNYOGLLTiXJRbfcaNk8N/4k3Wn/k7lyjoS0dM IEUA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h3-v6si4869303plb.100.2018.06.14.01.33.13; Thu, 14 Jun 2018 01:33:28 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754907AbeFNIc0 (ORCPT + 99 others); Thu, 14 Jun 2018 04:32:26 -0400 Received: from mail.bootlin.com ([62.4.15.54]:43152 "EHLO mail.bootlin.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752906AbeFNIcX (ORCPT ); Thu, 14 Jun 2018 04:32:23 -0400 Received: by mail.bootlin.com (Postfix, from userid 110) id 7BB5520719; Thu, 14 Jun 2018 10:32:21 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail.bootlin.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT, URIBL_BLOCKED shortcircuit=ham autolearn=disabled version=3.4.0 Received: from localhost (242.171.71.37.rev.sfr.net [37.71.171.242]) by mail.bootlin.com (Postfix) with ESMTPSA id 52D1C203EB; Thu, 14 Jun 2018 10:32:21 +0200 (CEST) Date: Thu, 14 Jun 2018 10:32:20 +0200 From: Alexandre Belloni To: Radu Pirea Cc: broonie@kernel.org, nicolas.ferre@microchip.com, lee.jones@linaro.org, richard.genoud@gmail.com, robh+dt@kernel.org, mark.rutland@arm.com, gregkh@linuxfoundation.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v7 3/6] mfd: at91-usart: added mfd driver for usart Message-ID: <20180614083220.GU10521@piout.net> References: <20180613163621.23995-1-radu.pirea@microchip.com> <20180613163621.23995-4-radu.pirea@microchip.com> <20180614075849.dfiqwcu6rtzgpzq7@rfolt0960.corp.atmel.com> <1086330e-40e4-8d9b-50aa-1ae9bf48aa22@microchip.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1086330e-40e4-8d9b-50aa-1ae9bf48aa22@microchip.com> User-Agent: Mutt/1.10.0 (2018-05-17) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 14/06/2018 11:22:25+0300, Radu Pirea wrote: > On 06/14/2018 10:58 AM, Ludovic Desroches wrote: > > > +static int at91_usart_mode_probe(struct platform_device *pdev) > > > +{ > > > + struct mfd_cell cell; > > > + u32 opmode = AT91_USART_MODE_SERIAL; > > > + > > > + device_property_read_u32(&pdev->dev, "atmel,usart-mode", &opmode); > > > + > > > + switch (opmode) { > > > + case AT91_USART_MODE_SPI: > > > + cell = at91_usart_spi_subdev; > > > + break; > > > + case AT91_USART_MODE_SERIAL: > > > + cell = at91_usart_serial_subdev; > > > + break; > > > + default: > > > + break; > > > > If there is an invalid opmode from the DT, you will pass a non initialized cell > > to mfd_add_device(). > > > > Regards > > > > Ludovic > > Hi Ludovic, > > Tnx. That's true. How is better to do if atmel,usart-mode has an invalid > value? To initialize cell with at91_usart_serial_subdev or to print an error > message and return -EINVAL? > Returning an error is probably the correct choice because it means the DT has an invalid value (something was done and is wrong). -- Alexandre Belloni, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com