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 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html