chip: Document
diff --git a/src/gpioplus/chip.hpp b/src/gpioplus/chip.hpp
index 7c913a0..7e8f9d7 100644
--- a/src/gpioplus/chip.hpp
+++ b/src/gpioplus/chip.hpp
@@ -7,39 +7,82 @@
 namespace gpioplus
 {
 
+/** @brief Information about the queried gpio chip */
 struct ChipInfo
 {
+    /** @brief Kernel name of the chip */
     std::string name;
+    /** @brief Functional name of the chip */
     std::string label;
+    /** @brief Number of lines on the chip */
     uint32_t lines;
 };
 
+/** @brief Flags pertaining to the gpio line */
 struct LineFlags
 {
+    /** @brief Is the kernel currently using the line */
     bool kernel;
+    /** @brief Is the line used for output (otherwise input) */
     bool output;
+    /** @brief Is the line value active at low voltage */
     bool active_low;
+    /** @brief Is the line an open drain */
     bool open_drain;
+    /** @brief Is the line an open source */
     bool open_source;
 
+    /** @brief Converts the syscall flags to this struct
+     *
+     *  @param[in] flags - The int bitfield of flags
+     */
     LineFlags(uint32_t flags);
 };
 
+/** @brief Information about the queried gpio line */
 struct LineInfo
 {
+    /** @brief Flags that apply to the line */
     LineFlags flags;
+    /** @brief name of the line as specified by the gpio chip */
     std::string name;
+    /** @brief the name of the consumer of the line */
     std::string consumer;
 };
 
+/** @class Chip
+ *  @brief Handle to a gpio chip
+ *  @details Provides a c++ interface to gpio chip operations
+ */
 class Chip
 {
   public:
+    /** @brief Creates a new chip from chip id
+     *         Ids come from the /sys/bus/gpio/devices/gpiochip{id}
+     *
+     *  @param[in] id  - Id of the chip to open
+     *  @param[in] sys - Optional underlying syscall implementation
+     */
     Chip(unsigned id, const internal::Sys* sys = &internal::sys_impl);
 
+    /** @brief Gets the information about this chip
+     *
+     *  @throws std::system_error for underlying syscall failures
+     *  @return The chip information
+     */
     ChipInfo getChipInfo() const;
+
+    /** @brief Gets the information about a line on the chip
+     *
+     *  @throws std::system_error for underlying syscall failures
+     *  @return The line information
+     */
     LineInfo getLineInfo(uint32_t offset) const;
 
+    /** @brief Get the file descriptor associated with the chip
+     *
+     *  @return The file descriptor
+     */
     const internal::Fd& getFd() const;
 
   private: