On Tue, Mar 09, 2021 at 10:44:50AM -0800, Bhaumik Bhatt wrote: > As per documentation, fields marked as (required) in an MHI > controller structure need to be populated by the controller driver > before calling mhi_register_controller(). Ensure all required > pointers and non-zero fields are present in the controller before > proceeding with the registration. > > Signed-off-by: Bhaumik Bhatt <bbhatt@xxxxxxxxxxxxxx> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> Thanks, Mani > --- > v3: removed fw_image as not all controllers require it > v2: removed iova_start and iova_stop as they can be zero > > drivers/bus/mhi/core/init.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/bus/mhi/core/init.c b/drivers/bus/mhi/core/init.c > index 272f350..d8882b3 100644 > --- a/drivers/bus/mhi/core/init.c > +++ b/drivers/bus/mhi/core/init.c > @@ -879,12 +879,10 @@ int mhi_register_controller(struct mhi_controller *mhi_cntrl, > u32 soc_info; > int ret, i; > > - if (!mhi_cntrl) > - return -EINVAL; > - > - if (!mhi_cntrl->runtime_get || !mhi_cntrl->runtime_put || > + if (!mhi_cntrl || !mhi_cntrl->cntrl_dev || !mhi_cntrl->regs || > + !mhi_cntrl->runtime_get || !mhi_cntrl->runtime_put || > !mhi_cntrl->status_cb || !mhi_cntrl->read_reg || > - !mhi_cntrl->write_reg || !mhi_cntrl->nr_irqs) > + !mhi_cntrl->write_reg || !mhi_cntrl->nr_irqs || !mhi_cntrl->irq) > return -EINVAL; > > ret = parse_config(mhi_cntrl, config); > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project >