[PATCH v5 2/7] mailbox: arm_mhu: add driver for ARM MHU controller

Jassi Brar jaswinder.singh at linaro.org
Tue Feb 3 06:39:34 PST 2015


On 3 February 2015 at 18:02, Russell King - ARM Linux
<linux at arm.linux.org.uk> wrote:
> On Tue, Feb 03, 2015 at 05:29:23PM +0800, Vincent Yang wrote:
>> +static int mhu_send_data(struct mbox_chan *chan, void *data)
>> +{
>> +     struct mhu_link *mlink = chan->con_priv;
>> +
>> +     pr_debug("%s:%d\n", __func__, __LINE__);
>> +     if (!mhu_last_tx_done(chan)) {
>> +             dev_err(chan->mbox->dev, "Last TX(%d) pending!\n", mlink->irq);
>> +             return -EBUSY;
>> +     }
>> +
>> +     writel_relaxed((u32)data, mlink->tx_reg + INTR_SET_OFS);
>
> Doesn't that cause a GCC warning?
>
I don't see any, but I'll drop the cast.

>> +static int mhu_probe(struct amba_device *adev, const struct amba_id *id)
>> +{
>> +     int i, err;
>> +     struct arm_mhu *mhu;
>> +     struct device *dev = &adev->dev;
>> +     int mhu_reg[3] = {0x0, 0x20, 0x200};
>> +
>> +     err = amba_request_regions(adev, NULL);
>> +     if (err)
>> +             return err;
>> +
>> +     /* Allocate memory for device */
>> +     mhu = devm_kzalloc(dev, sizeof(*mhu), GFP_KERNEL);
>> +     if (!mhu)
>> +             return -ENOMEM;
>> +
>> +     mhu->base = devm_ioremap(dev, adev->res.start,
>> +                              resource_size(&adev->res));
>> +     if (!mhu->base) {
>> +             dev_err(dev, "ioremap failed\n");
>> +             return -ENXIO;
>
>         mhu->base = devm_ioremap_resource(dev, &adev->res);
>         if (IS_ERR(mhu->base)) {
>                 dev_err(dev, "ioremap failed\n");
>                 return PTR_ERR(mhu->base);
>
OK

>> +
>> +     err = mbox_controller_register(&mhu->mbox);
>> +     if (err) {
>> +             dev_err(dev, "Failed to register mailboxes %d\n", err);
>> +             return err;
>> +     }
>> +
>> +     dev_err(dev, "ARM MHU Mailbox registered\n");
>
> Why is this an error?
>
ouch! this sneaked in from debugging code. Will make it info.

Thanks.



More information about the linux-arm-kernel mailing list