From: Greg KH <gregkh@linuxfoundation.org>
To: Arun Murthy <arun.murthy@stericsson.com>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
linux-doc@vger.kernel.org, alan@lxorguk.ukuu.org.uk
Subject: Re: [PATCHv5 1/4] modem_shm: Add Modem Access Framework
Date: Mon, 15 Oct 2012 14:29:43 -0700 [thread overview]
Message-ID: <20121015212943.GA12540@kroah.com> (raw)
In-Reply-To: <1350278920-25510-2-git-send-email-arun.murthy@stericsson.com>
On Mon, Oct 15, 2012 at 10:58:37AM +0530, Arun Murthy wrote:
I'm going to ignore your .c logic, as there are things in it that I
don't think is correct. But it all comes down to your data structures,
if you fix them, then the .c logic will become correct:
> --- /dev/null
> +++ b/include/linux/modem_shm/modem.h
> @@ -0,0 +1,59 @@
> +/*
> + * Copyright (C) ST-Ericsson SA 2011
> + *
> + * License Terms: GNU General Public License v2
> + * Author: Kumar Sanghvi
> + * Arun Murthy <arun.murthy@stericsson.com>
> + *
> + * Heavily adapted from Regulator framework
> + */
> +#ifndef __MODEM_H__
> +#define __MODEM_H__
__MODEM_SHM_MODEM_H__, right?
> +
> +#include <linux/device.h>
> +
> +struct clients {
> + struct device *dev;
Why is this a pointer? It should be embedded in the structure.
> + const char *name;
Why is this needed? It should be the same as the device, right?
> + atomic_t cnt;
Why is this needed at all? And if it's needed, why is it an atomic?
(hint, your use of atomic_t really isn't correct at all in this patch,
it's not doing what you think it is doing...)
> +};
Also, the name of the structure here is _VERY_ generic, that's not
acceptable in the global kernel namespace. Hint, it probably isn't even
needed to be defined in this .h file at all, right?
> +
> +struct modem_desc {
> + int (*request)(struct modem_desc *);
> + void (*release)(struct modem_desc *);
> + int (*is_requested)(struct modem_desc *);
> + struct clients *mclients;
Why do you have a pointer to a device, and yet:
> + struct device *dev;
have a device here?
> + char *name;
Same *dev and name comment as above.
> + u8 no_clients;
> + atomic_t use_cnt;
> + atomic_t cli_cnt;
Same question about these atomic_t variables, why are they here, and
most importantly, why are they an atomic variable?
thanks,
greg k-h
next prev parent reply other threads:[~2012-10-15 21:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-15 5:28 [PATCHv5 0/4] modem_shm: U8500 SHaRed Memory driver(SHRM) Arun Murthy
2012-10-15 5:28 ` [PATCHv5 1/4] modem_shm: Add Modem Access Framework Arun Murthy
2012-10-15 21:29 ` Greg KH [this message]
2012-10-17 8:00 ` Arun MURTHY
2012-10-17 19:15 ` Greg KH
2012-10-15 5:28 ` [PATCHv5 2/4] modem_shm: Register u8500 client for MAF Arun Murthy
2012-10-15 5:28 ` [PATCHv5 3/4] modem_shm: u8500-shm: U8500 Shared Memory Driver Arun Murthy
2012-10-15 5:28 ` [PATCHv5 4/4] Doc: Add u8500_shrm document Arun Murthy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121015212943.GA12540@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=arun.murthy@stericsson.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.