All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Alessandro Rubini <rubini@gnudd.com>
Cc: linux-kernel@vger.kernel.org,
	Juan David Gonzalez Cobas <juan.david.gonzalez.cobas@cern.ch>,
	"Emilio G. Cota" <cota@braap.org>,
	Samuel Iglesias Gonsalvez <siglesias@igalia.com>,
	Rob Landley <rob@landley.net>,
	linux-doc@vger.kernel.org
Subject: Re: [PATCH 2/8] FMC: add needed headers
Date: Mon, 17 Jun 2013 16:21:20 -0700	[thread overview]
Message-ID: <20130617232120.GF12984@kroah.com> (raw)
In-Reply-To: <1d3aedf8636f4bed4ffda25e13acd853bf8e08fb.1371018406.git.rubini@gnudd.com>

On Wed, Jun 12, 2013 at 09:13:36AM +0200, Alessandro Rubini wrote:
> +/*
> + * The device reports all information needed to access hw.
> + *
> + * If we have eeprom_len and not contents, the core reads it.
> + * Then, parsing of identifiers is done by the core which fills fmc_fru_id..
> + * Similarly a device that must be matched based on SDB cores must
> + * fill the entry point and the core will scan the bus (FIXME: sdb match)
> + */
> +struct fmc_device {
> +	unsigned long version;
> +	unsigned long flags;
> +	struct module *owner;		/* char device must pin it */
> +	struct fmc_fru_id id;		/* for EEPROM-based match */
> +	struct fmc_operations *op;	/* carrier-provided */
> +	int irq;			/* according to host bus. 0 == none */
> +	int eeprom_len;			/* Usually 8kB, may be less */
> +	int eeprom_addr;		/* 0x50, 0x52 etc */
> +	uint8_t *eeprom;		/* Full contents or leading part */
> +	char *carrier_name;		/* "SPEC" or similar, for special use */
> +	void *carrier_data;		/* "struct spec *" or equivalent */
> +	__iomem void *fpga_base;	/* May be NULL (Etherbone) */
> +	__iomem void *slot_base;	/* Set by the driver */
> +	struct fmc_device **devarray;	/* Allocated by the bus */
> +	int slot_id;			/* Index in the slot array */
> +	int nr_slots;			/* Number of slots in this carrier */
> +	unsigned long memlen;		/* Used for the char device */
> +	struct device dev;		/* For Linux use */
> +	struct device *hwdev;		/* The underlying hardware device */
> +	unsigned long sdbfs_entry;
> +	struct sdb_array *sdb;
> +	uint32_t device_id;		/* Filled by the device */
> +	char *mezzanine_name;		/* Defaults to ``fmc'' */
> +	void *mezzanine_data;
> +};
> +#define to_fmc_device(x) container_of((x), struct fmc_device, dev)
> +
> +#define FMC_DEVICE_HAS_GOLDEN		1
> +#define FMC_DEVICE_HAS_CUSTOM		2
> +#define FMC_DEVICE_NO_MEZZANINE		4
> +#define FMC_DEVICE_MATCH_SDB		8 /* fmc-core must scan sdb in fpga */

Any way you can use MODULE_DEVICE_TABLE() for these devices to get
proper module auto-loading for your drivers?

thanks,

greg k-h

  reply	other threads:[~2013-06-17 23:21 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-12  7:13 [PATCH 0/8] Support for FMC carriers and mezzanines Alessandro Rubini
2013-06-12  7:13 ` [PATCH 1/8] FMC: create drivers/fmc and toplevel Kconfig question Alessandro Rubini
2013-06-17 23:17   ` Greg KH
2013-06-17 23:24     ` Alessandro Rubini
2013-06-17 23:35       ` Greg KH
2013-06-12  7:13 ` [PATCH 2/8] FMC: add needed headers Alessandro Rubini
2013-06-17 23:21   ` Greg KH [this message]
2013-06-17 23:29     ` Alessandro Rubini
2013-06-17 23:35       ` Greg KH
2013-06-19 10:49   ` Arnd Bergmann
2013-06-19 11:08     ` Alessandro Rubini
2013-06-12  7:13 ` [PATCH 3/8] FMC: add core bus driver Alessandro Rubini
2013-06-17 23:15   ` Greg KH
2013-06-17 23:16   ` Greg KH
2013-06-17 23:38     ` Alessandro Rubini
2013-06-18  8:36       ` Juan David Gonzalez Cobas
     [not found]       ` <CADDK0KdrVgmXN-TZw8E43JRNk5Wb_cfM6pUWaSxbJ49GU72cTg@mail.gmail.com>
2013-06-18 17:40         ` Greg KH
2013-06-18 19:52           ` Alessandro Rubini
2013-06-12  7:13 ` [PATCH 4/8] FMC: add documentation for the core Alessandro Rubini
2013-06-12  7:14 ` [PATCH 5/8] FMC: add a software carrier driver Alessandro Rubini
2013-06-17 23:19   ` Greg KH
2013-06-12  7:14 ` [PATCH 6/8] FMC: add a software mezzanine driver Alessandro Rubini
2013-06-17 23:20   ` Greg KH
2013-06-12  7:14 ` [PATCH 7/8] FMC: add a driver to write mezzanine EEPROM Alessandro Rubini
2013-06-12  7:14 ` [PATCH 8/8] FMC: add a char-device mezzanine driver Alessandro Rubini
  -- strict thread matches above, loose matches on Subject: below --
2013-02-21 18:13 [PATCH RFC 0/8] drivers/fmc: bus support for ANSI-VITA 57.1 Alessandro Rubini
2013-02-21 18:13 ` [PATCH 2/8] FMC: add needed headers Alessandro Rubini

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=20130617232120.GF12984@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=cota@braap.org \
    --cc=juan.david.gonzalez.cobas@cern.ch \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rob@landley.net \
    --cc=rubini@gnudd.com \
    --cc=siglesias@igalia.com \
    /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.