)]}'
{
  "log": [
    {
      "commit": "313162d0b83836e2f57e51b9b8650fb4b9c396ea",
      "tree": "8f39f20515a924d392cf9a72db0918fda07a34c7",
      "parents": [
        "51990e825431089747f8896244b5c17d3a6423f1"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Jan 30 11:46:54 2012 -0500"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Mar 16 10:38:24 2012 -0400"
      },
      "message": "device.h: audit and cleanup users in main include dir\n\nThe \u003clinux/device.h\u003e header includes a lot of stuff, and\nit in turn gets a lot of use just for the basic \"struct device\"\nwhich appears so often.\n\nClean up the users as follows:\n\n1) For those headers only needing \"struct device\" as a pointer\nin fcn args, replace the include with exactly that.\n\n2) For headers not really using anything from device.h, simply\ndelete the include altogether.\n\n3) For headers relying on getting device.h implicitly before\nbeing included themselves, now explicitly include device.h\n\n4) For files in which doing #1 or #2 uncovers an implicit\ndependency on some other header, fix by explicitly adding\nthe required header(s).\n\nAny C files that were implicitly relying on device.h to be\npresent have already been dealt with in advance.\n\nTotal removals from #1 and #2: 51.  Total additions coming\nfrom #3: 9.  Total other implicit dependencies from #4: 7.\n\nAs of 3.3-rc1, there were 110, so a net removal of 42 gives\nabout a 38% reduction in device.h presence in include/*\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "97548ed4c4661502cdfd1aabd5d3876fa4f5cc2e",
      "tree": "c85b85954f53e3a97b6590de8d5d5396e7c43358",
      "parents": [
        "1651333b09743887bc2dd3d158a11853a2be3fe7"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Wed Dec 09 08:40:03 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Mar 22 04:53:16 2011 -0300"
      },
      "message": "[media] media: Links setup\n\nCreate the following ioctl and implement it at the media device level to\nsetup links.\n\n- MEDIA_IOC_SETUP_LINK: Modify the properties of a given link\n\nThe only property that can currently be modified is the ENABLED link\nflag to enable/disable a link. Links marked with the IMMUTABLE link flag\ncan not be enabled or disabled.\n\nEnabling or disabling a link has effects on entities\u0027 use count. Those\nchanges are automatically propagated through the graph.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Stanimir Varbanov \u003csvarbanov@mm-sol.com\u003e\nSigned-off-by: Sakari Ailus \u003csakari.ailus@iki.fi\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "503c3d829eaf48837dd5bff5d97ad66369bb955a",
      "tree": "9c14ed9561c5ffca07909e53d5ae0e52cdf5f99e",
      "parents": [
        "a5ccc48a7c48610e7f92fa599406738d69195d51"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Sun Mar 07 15:04:59 2010 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Mar 22 04:53:12 2011 -0300"
      },
      "message": "[media] media: Entity use count\n\nDue to the wide differences between drivers regarding power management\nneeds, the media controller does not implement power management.\nHowever, the media_entity structure includes a use_count field that\nmedia drivers can use to track the number of users of every entity for\npower management needs.\n\nThe use_count field is owned by media drivers and must not be touched by\nentity drivers. Access to the field must be protected by the media\ndevice graph_mutex lock.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "53e269c102fbaf77e7dc526b1606ad4a48e57200",
      "tree": "c264a16d8058e5331ac3c0c4792be30da50e7363",
      "parents": [
        "176fb0d108f7495ccf9aa127e1342a1a0d87e004"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Wed Dec 09 08:40:00 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Mar 22 04:53:10 2011 -0300"
      },
      "message": "[media] media: Entities, pads and links\n\nAs video hardware pipelines become increasingly complex and\nconfigurable, the current hardware description through v4l2 subdevices\nreaches its limits. In addition to enumerating and configuring\nsubdevices, video camera drivers need a way to discover and modify at\nruntime how those subdevices are connected. This is done through new\nelements called entities, pads and links.\n\nAn entity is a basic media hardware building block. It can correspond to\na large variety of logical blocks such as physical hardware devices\n(CMOS sensor for instance), logical hardware devices (a building block\nin a System-on-Chip image processing pipeline), DMA channels or physical\nconnectors.\n\nA pad is a connection endpoint through which an entity can interact with\nother entities. Data (not restricted to video) produced by an entity\nflows from the entity\u0027s output to one or more entity inputs. Pads should\nnot be confused with physical pins at chip boundaries.\n\nA link is a point-to-point oriented connection between two pads, either\non the same entity or on different entities. Data flows from a source\npad to a sink pad.\n\nLinks are stored in the source entity. To make backwards graph walk\nfaster, a copy of all links is also stored in the sink entity. The copy\nis known as a backlink and is only used to help graph traversal.\n\nThe entity API is made of three functions:\n\n- media_entity_init() initializes an entity. The caller must provide an\narray of pads as well as an estimated number of links. The links array\nis allocated dynamically and will be reallocated if it grows beyond the\ninitial estimate.\n\n- media_entity_cleanup() frees resources allocated for an entity. It\nmust be called during the cleanup phase after unregistering the entity\nand before freeing it.\n\n- media_entity_create_link() creates a link between two entities. An\nentry in the link array of each entity is allocated and stores pointers\nto source and sink pads.\n\nWhen a media device is unregistered, all its entities are unregistered\nautomatically.\n\nThe code is based on Hans Verkuil \u003chverkuil@xs4all.nl\u003e initial work.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Sakari Ailus \u003csakari.ailus@iki.fi\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "176fb0d108f7495ccf9aa127e1342a1a0d87e004",
      "tree": "a1b54ad186dde663853d4d2d24f42cd7c0f94bfb",
      "parents": [
        "cf4b9211b5680cd9ca004232e517fb7ec5bf5316"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Wed Dec 09 08:39:58 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Mar 22 04:53:09 2011 -0300"
      },
      "message": "[media] media: Media device\n\nThe media_device structure abstracts functions common to all kind of\nmedia devices (v4l2, dvb, alsa, ...). It manages media entities and\noffers a userspace API to discover and configure the media device\ninternal topology.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    }
  ]
}
